using Microsoft.VisualBasic.FileIO;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
//20190710 - added try catch - maanie
namespace MagusEvents
{
///
/// Interaction logic for Setup.xaml
///
public partial class Setup : Page
{
DispatcherTimer Timer = new DispatcherTimer();
Webservices online = new Webservices();
public Frame main;
public Frame Header;
string EventsObjects = "";
int _loadedEventLoading = 0;
int _loadedEvents = 0;
int AID = 0;
List Zones_list;
int Event_Selected = 0;
Events Eventsprofile;
int Selected_mealdays = 0;
int Selected_meals = 0;
int pertcent = 0;
public int OPT = 0;
public Setup()
{
InitializeComponent();
Timer = new DispatcherTimer();
Timer.Tick += new EventHandler(get_time);
Timer.Start();
Database DATA = new Database();
AID = DATA.GetAccreditationID();
//set Online Mode
string WorkMode = (string)App.Current.Properties["WorkMode"];
if(WorkMode == "ON")
{
this.toggleButton.IsChecked = false;
}
else
{
this.toggleButton.IsChecked = true;
}
this.toggleButton.Focus();
}
private void get_time(object sender, EventArgs e)
{
bool is_online = online.CheckForInternetConnection();
if (is_online == true)
{
list_events_option.Text = "LOADING DATA ...";
GetEventsData();
}
else
{
list_events_option.Text = "SELECT EVENT";
// GetEventsDataLocalData();
}
}
private void GoBack(object sender, MouseButtonEventArgs e)
{
header head = new header();
Header.Content = head;
if (OPT == 1)
{
Scanmeal Page = new Scanmeal();
main.Content = Page;
Page.main = main;
Page.Header = Header;
}
else
{
Scan Page = new Scan();
main.Content = Page;
Page.main = main;
Page.Header = Header;
}
}
private void Save_Data(object sender, MouseButtonEventArgs e)
{
try
{
int IsMealZone_checkedbox = 0;
if (IsMealZone.IsChecked == true)
{
IsMealZone_checkedbox = 1;
}
var JsonObjects = Newtonsoft.Json.JsonConvert.DeserializeObject(EventsObjects);
string DateFrom = JsonObjects[Event_Selected]["DateFrom"].ToString() + " " + JsonObjects[Event_Selected]["DateTo"].ToString();
Database DATA = new Database();
UpdateData_text.Text = "SAVING ..";
string sql = "UPDATE Events SET " +
" Active = '0' " +
" WHERE AC > '0'; ";
DATA.ExecuteData(sql);
sql = "UPDATE Events SET " +
" AC = '" + JsonObjects[Event_Selected]["AC"].ToString() + "'," +
" AccreditationName = '" + JsonObjects[Event_Selected]["AccreditationName"].ToString() + "'," +
" DateFrom = '" + JsonObjects[Event_Selected]["DateFrom"].ToString() + "'," +
" DateTo = '" + JsonObjects[Event_Selected]["DateTo"].ToString() + "'," +
" Location = '" + JsonObjects[Event_Selected]["Location"].ToString() + "'," +
" Logo = '" + JsonObjects[Event_Selected]["Logo"].ToString() + "'," +
" MealDays = '" + JsonObjects[Event_Selected]["TotalDays"].ToString() + "'," +
"MealsPerDay = '" + JsonObjects[Event_Selected]["MealsPerDay"].ToString() + "'," +
" DayNumber = '" + Selected_mealdays + "'," +
"SessionNumer = '" + Selected_meals + "'," +
"IsMealZone = '" + IsMealZone_checkedbox + "'," +
" Active = '1' " +
" WHERE AC = '" + JsonObjects[Event_Selected]["AC"].ToString() + "'; ";
bool updated = DATA.ExecuteData(sql);
if (!updated)
{
sql = "insert into Events (AC, AccreditationName,DateFrom,DateTo,Location,Active,Logo,MealDays,MealsPerDay,DayNumber,SessionNumer,IsMealZone)" +
" values ('" + JsonObjects[Event_Selected]["AC"].ToString() +
"', '" + JsonObjects[Event_Selected]["AccreditationName"].ToString() +
"','" + JsonObjects[Event_Selected]["DateFrom"].ToString() +
"','" + JsonObjects[Event_Selected]["DateTo"].ToString() +
"','" + JsonObjects[Event_Selected]["Location"].ToString() +
"','1','" + JsonObjects[Event_Selected]["Logo"].ToString() +
"','" + JsonObjects[Event_Selected]["TotalDays"].ToString() +
"','" + JsonObjects[Event_Selected]["MealsPerDay"].ToString() +
"','" + Selected_mealdays +
"','" + Selected_meals +
"','" + IsMealZone_checkedbox +
"')";
bool Insert = DATA.ExecuteData(sql);
}
foreach (Zones Zone in Zones_list)
{
string FromTime = Zone.FromTime.Replace(":", "");
string ToTime = Zone.ToTime.Replace(":", "");
sql = "UPDATE Zones SET " +
" ZID = '" + Zone.ZID.ToString() + "'," +
" AID = '" + Zone.AID.ToString() + "'," +
" Number = '" + Zone.Number.ToString() + "'," +
" Hidden = '" + Zone.Hidden.ToString() + "'," +
" Lock = '" + Zone.Lock.ToString() + "'," +
" Active = '" + Zone.Active.ToString() + "'," +
" Name = '" + Zone.Name.ToString() + "'," +
" Color = '" + Zone.Color.ToString() + "'," +
" FromTime = '" + FromTime.ToString() + "'," +
" Icon = '" + Zone.Icon.ToString() + "'," +
" ZTID = '" + Zone.ZTID.ToString() + "'," +
" ToTime = '" + ToTime.ToString() + "' " +
" WHERE ZID = '" + Zone.ZID + "'; ";
Console.WriteLine("SAVE: " + sql.ToString());
updated = DATA.ExecuteData(sql);
if (!updated)
{
sql = "insert into Zones (ZID,AID, Number,Hidden,Lock,Active,Name,Color,FromTime,ToTime,Icon,ZTID)" +
" values ('" + Zone.ZID +
"', '" + Zone.AID +
"','" + Zone.Number +
"','" + Zone.Hidden +
"','" + Zone.Lock +
"','" + Zone.Active +
"','" + Zone.Name +
"','" + Zone.Color +
"','" + Zone.FromTime +
"','" + Zone.ToTime +
"','" + Zone.Icon +
"','" + Zone.ZTID +
"')";
DATA.ExecuteData(sql);
}
}
header head = new header();
Header.Content = head;
//online.GetNewData();
UpdateData_text.Text = "SAVE";
//System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
//Application.Current.Shutdown();
if (OPT == 1)
{
Scanmeal Page = new Scanmeal();
main.Content = Page;
Page.main = main;
Page.Header = Header;
}
else
{
Scan Page = new Scan();
main.Content = Page;
Page.main = main;
Page.Header = Header;
}
}
catch //(Exception error)
{
//MessageBox.Show(error.ToString());
}
}
private void Exit_App(object sender, MouseButtonEventArgs e)
{
Application.Current.Shutdown();
}
private void Grid_MouseLeave(object sender, MouseEventArgs e)
{
}
public void GetEventsData()
{
try
{
if (_loadedEvents == 0 && _loadedEventLoading == 0)
{
_loadedEventLoading = 1;
WebClient wb = new WebClient();
wb.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wb_DownloadStringCompleted);
wb.DownloadStringAsync(new Uri("https://footprintapp.net/api/Accreditation/getevents"));
}
}
catch { }
}
private void wb_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
string htmldoc = e.Result;
string Web_Data = Convert.ToString(htmldoc);
int selected_index = 0;
Web_Data = Web_Data.Replace("'", "\'");
var JsonObjects = Newtonsoft.Json.JsonConvert.DeserializeObject(Web_Data);
EventsObjects = Web_Data;
ComboBox cmb = new ComboBox();
cmb.Width = 370;
cmb.Height = 70;
cmb.Margin = new Thickness(0, 10, 0, 0);
Border BRD2 = new Border();
BRD2.Height = 60;
//BRD.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#ccc"));
//BRD.BorderThickness = new Thickness(0,0,0,2);
BRD2.BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#000"));
BRD2.Uid = "0";
//BRD.Name = Events.AccreditationName;
BRD2.Cursor = Cursors.Hand;
BRD2.MouseDown += new MouseButtonEventHandler(Event_Selected_Button);
// MessageBox.Show(AID.ToString());
TextBlock TXT2 = new TextBlock();
TXT2.FontSize = 25;
TXT2.Padding = new Thickness(15);
TXT2.Text = "SELECT EVENT NAME";
TXT2.FontFamily = new FontFamily("Segoe UI Semibold");
TXT2.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#505050"));
BRD2.Child = TXT2;
cmb.Items.Add(BRD2);
int Index = 1;
foreach (var Events in JsonObjects)
{
if (AID > 0 && AID.ToString() == Events["AC"].ToString())
{
selected_index = Index;
}
// MessageBox.Show(Events["AC"].ToString());
Border BRD = new Border();
BRD.Height = 60;
//BRD.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#ccc"));
//BRD.BorderThickness = new Thickness(0,0,0,2);
BRD.BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#000"));
BRD.Uid = Index.ToString();
//BRD.Name = Events.AccreditationName;
BRD.Cursor = Cursors.Hand;
BRD.MouseDown += new MouseButtonEventHandler(Event_Selected_Button);
TextBlock TXT = new TextBlock();
TXT.FontSize = 25;
TXT.Padding = new Thickness(15);
TXT.Text = Events.AccreditationName;
TXT.FontFamily = new FontFamily("Segoe UI Semibold");
TXT.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#505050"));
BRD.Child = TXT;
cmb.Items.Add(BRD);
// STK.Children.Add(BRD);
Index++;
}
Events_ComboWrapa.Children.Clear();
Events_ComboWrapa.Children.Add(cmb);
cmb.SelectedIndex = selected_index;
LaodingPage.Visibility = Visibility.Hidden;
scanning.Visibility = Visibility.Visible;
ShowPage(selected_index);
_loadedEvents = 1;
}
catch { }
}
private void ShowPage(int UID)
{
try
{
Zones_list = new List();
if (EventsObjects != "" && UID > 0)
{
int MealDays = 0;
int MealPerDay = 0;
CanDoSettings.Visibility = Visibility.Visible;
UID = UID - 1;
Event_Selected = UID;
var JsonObjects = Newtonsoft.Json.JsonConvert.DeserializeObject(EventsObjects);
//MessageBox.Show(JsonObjects[UID]["DateFrom"].ToString());
string DateFrom = JsonObjects[UID]["DateFrom"].ToString() + " " + JsonObjects[UID]["DateTo"].ToString();
if (JsonObjects[UID]["DateFrom"].ToString() == JsonObjects[UID]["DateTo"].ToString())
{
string date = JsonObjects[UID]["DateTo"].ToString();
Char delimiter = ' ';
String[] substrings = date.Split(delimiter);
DateFrom = substrings[0];
}
if (JsonObjects[UID]["MealsPerDay"].ToString() != "" && JsonObjects[UID]["TotalDays"].ToString() != "")
{
MealDays = Convert.ToInt32(JsonObjects[UID]["TotalDays"].ToString());
MealPerDay = Convert.ToInt32(JsonObjects[UID]["MealsPerDay"].ToString()); ;
}
if (MealDays > 0)
{
numberofdays(MealDays, 1);
}
if (MealPerDay > 0)
{
numberofdays(MealPerDay, 2);
}
try
{
if (Eventsprofile.IsMealZone == 1)
{
IsMealZone.IsChecked = true;
}
else
{
IsMealZone.IsChecked = false;
}
}
catch { }
//list zones from the string to an object
var Zones = Newtonsoft.Json.JsonConvert.DeserializeObject(JsonObjects[UID]["zones"].ToString());
StackPanel stb = new StackPanel();
int j = 0;
foreach (var Zone in Zones)
{
Zones ZONES_Item = new Zones();
Zones ZONES_Data = ZONES_Item.GetRow(Zone["ZID"].ToString());
string FromTime = "00:00";
string ToTime = "00:00";
int Locked = 0;
int Activated = 0;
if (ZONES_Data.ZID > 0)
{
//check times
string FromTime_string = ZONES_Data.FromTime;
int FromTime_len = FromTime_string.Length;
switch (FromTime_len)
{
case 1:
FromTime_string = "000" + FromTime_string;
break;
case 2:
FromTime_string = "00" + FromTime_string;
break;
case 3:
FromTime_string = "0" + FromTime_string;
break;
}
string ToTime_string = ZONES_Data.ToTime;
int ToTime_len = ToTime_string.Length;
switch (ToTime_len)
{
case 1:
ToTime_string = "000" + ToTime_string;
break;
case 2:
ToTime_string = "00" + ToTime_string;
break;
case 3:
ToTime_string = "0" + ToTime_string;
break;
}
FromTime = FromTime_string.Substring(0, 2) + ":" + FromTime_string.Substring(2, 2);
ToTime = ToTime_string.Substring(0, 2) + ":" + ToTime_string.Substring(2, 2);
Locked = ZONES_Data.Lock;
Activated = ZONES_Data.Active;
}
else
{
}
int ZTID = 0;
if (Zone["ZTID"].ToString() != "")
{
ZTID = Convert.ToInt32(Zone["ZTID"].ToString());
}
ZONES_Item.Number = Convert.ToInt32(Zone["Number"].ToString());
ZONES_Item.ZID = Convert.ToInt32(Zone["ZID"].ToString());
ZONES_Item.AID = Convert.ToInt32(Zone["AID"].ToString());
ZONES_Item.Name = Zone["Name"].ToString();
ZONES_Item.Color = Zone["Color"].ToString();
ZONES_Item.Icon = Zone["Icon"].ToString();
ZONES_Item.ZTID = ZTID;
ZONES_Item.FromTime = FromTime;
ZONES_Item.ToTime = ToTime;
ZONES_Item.Hidden = Convert.ToInt32(Zone["Hidden"].ToString());
ZONES_Item.Lock = Locked;
ZONES_Item.Active = Activated;
Zones_list.Add(ZONES_Item);
Border b = new Border();
//Set Parems
b.Height = 70;
b.BorderThickness = new Thickness(0, 0, 0, 2);
b.BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#B3B3B3")); ;
b.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#EEEEEE"));
Grid g = new Grid();
TextBlock Title = new TextBlock();
Title.FontFamily = new FontFamily("Segoe UI Semibold");
Title.Text = "Zone " + Zone["Number"].ToString() + " - " + Zone["Name"].ToString();
Title.FontSize = 25;
Title.VerticalAlignment = VerticalAlignment.Center;
Title.HorizontalAlignment = HorizontalAlignment.Left;
Title.Padding = new Thickness(15);
Title.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#484848"));
Title.Width = 492;
Title.Margin = new Thickness(0, 3, 0, 2);
b.Child = g;
g.Children.Add(Title);
// Foreground="#484848" Margin="0,3,0,2" Width="492"
stb.Children.Add(b);
TextBox From = new TextBox();
From.Margin = new Thickness(504, 9, 346, 9);
From.Height = 40;
From.Width = 110;
From.TextAlignment = TextAlignment.Center;
From.Text = FromTime;
From.FontSize = 25;
From.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#484848"));
From.FontWeight = FontWeights.Bold;
From.Uid = j.ToString();
From.FontFamily = new FontFamily("Segoe UI Semibold");
From.HorizontalContentAlignment = HorizontalAlignment.Stretch;
From.VerticalContentAlignment = VerticalAlignment.Stretch;
From.KeyUp += From_KeyUp;
g.Children.Add(From);
TextBox To = new TextBox();
To.Margin = new Thickness(662, 8, 188, 10);
To.Height = 40;
To.Width = 110;
To.TextAlignment = TextAlignment.Center;
To.Text = ToTime;
To.FontSize = 25;
To.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#484848"));
To.FontWeight = FontWeights.Bold;
To.FontFamily = new FontFamily("Segoe UI Semibold");
To.Uid = j.ToString();
To.HorizontalContentAlignment = HorizontalAlignment.Stretch;
To.VerticalContentAlignment = VerticalAlignment.Stretch;
To.KeyUp += To_KeyUp;
g.Children.Add(To);
CheckBox Lock = new CheckBox();
Lock.Margin = new Thickness(819, 25, 91, 23);
Lock.Width = 50;
Lock.Height = 20;
Lock.Checked += Lock_Checked;
Lock.Unchecked += Lock_Unchecked;
Lock.Uid = j.ToString();
if (Locked == 1)
{
Lock.IsChecked = true;
}
g.Children.Add(Lock);
CheckBox Active = new CheckBox();
Active.Margin = new Thickness(908, 25, 2, 23);
Active.Width = 50;
Active.Height = 20;
Active.Checked += Active_Checked;
Active.Unchecked += Active_Unchecked;
Active.Uid = j.ToString();
if (Activated == 1)
{
Active.IsChecked = true;
}
g.Children.Add(Active);
j++;
}
DropDown_Events_Copy.Content = stb;
UpdateData.Visibility = Visibility.Visible;
}
else
{
CanDoSettings.Visibility = Visibility.Hidden;
}
}
catch
{
//MessageBox.Show(error.ToString());
}
}
private void numberofdays(int Number, int Option)
{
try
{
int N = 0;
N = 0;
ComboBox ComboMeals = new ComboBox();
ComboMeals.Width = 200;
ComboMeals.Height = 45;
ComboMeals.Margin = new Thickness(0, 0, 0, 0);
ComboMeals.HorizontalAlignment = HorizontalAlignment.Left;
ComboMeals.VerticalAlignment = VerticalAlignment.Top;
if (Number > 0)
{
while (N < Number)
{
TextBlock text = new TextBlock();
text.FontSize = 30;
text.Width = 200;
text.Height = 50;
if (Option == 1)
{
text.Name = "DayNumber";
}
else
{
text.Name = "SessionNumer";
}
text.Padding = new Thickness(15, 5, 0, 0);
text.FontFamily = new FontFamily("Segoe UI Semibold");
text.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#505050"));
text.Text = (N + 1).ToString();
text.Cursor = Cursors.Hand;
if (Option == 1)
{
text.MouseDown += new MouseButtonEventHandler(MealPerDay_Selected_Button);
}
else
{
text.MouseDown += new MouseButtonEventHandler(MealDays_Selected_Button);
}
N++;
ComboMeals.Items.Add(text);
}
}
if (Option == 1)
{
DaysWrapa.Children.Add(ComboMeals);
}
else
{
MealsWrapa.Children.Add(ComboMeals);
}
if (Eventsprofile.AC > 0)
{
if (Option == 1)
{
ComboMeals.SelectedIndex = (Eventsprofile.DayNumber - 1);
Selected_mealdays = Eventsprofile.DayNumber;
Console.WriteLine("DayNumber:" + Eventsprofile.DayNumber);
}
else
{
ComboMeals.SelectedIndex = (Eventsprofile.SessionNumer - 1);
Selected_mealdays = Eventsprofile.SessionNumer;
Console.WriteLine("SessionNumer:" + Eventsprofile.SessionNumer);
}
}
}
catch// (Exception r)
{
//Console.WriteLine(r.ToString());
}
}
private void MealPerDay_Selected_Button(object sender, MouseButtonEventArgs e)
{
TextBlock text = (TextBlock)sender;
Selected_meals = Convert.ToInt32(text.Text);
}
private void MealDays_Selected_Button(object sender, MouseButtonEventArgs e)
{
TextBlock text = (TextBlock)sender;
Selected_mealdays = Convert.ToInt32(text.Text);
}
private void To_KeyUp(object sender, KeyEventArgs e)
{
TextBox obj = (TextBox)sender;
int index = Convert.ToInt32(obj.Uid.ToString());
Zones_list[index].ToTime = obj.Text.ToString();
}
private void From_KeyUp(object sender, KeyEventArgs e)
{
TextBox obj = (TextBox)sender;
int index = Convert.ToInt32(obj.Uid.ToString());
Zones_list[index].FromTime = obj.Text.ToString();
}
private void Active_Unchecked(object sender, RoutedEventArgs e)
{
CheckBox obj = (CheckBox)sender;
int index = Convert.ToInt32(obj.Uid.ToString());
Zones_list[index].Active = 0;
}
private void Active_Checked(object sender, RoutedEventArgs e)
{
CheckBox obj = (CheckBox)sender;
int index = Convert.ToInt32(obj.Uid.ToString());
Zones_list[index].Active = 1;
}
private void Lock_Unchecked(object sender, RoutedEventArgs e)
{
CheckBox obj = (CheckBox)sender;
int index = Convert.ToInt32(obj.Uid.ToString());
Zones_list[index].Lock = 0;
}
private void Lock_Checked(object sender, RoutedEventArgs e)
{
CheckBox obj = (CheckBox)sender;
int index = Convert.ToInt32(obj.Uid.ToString());
Zones_list[index].Lock = 1;
}
private void Event_Selected_Button(object sender, MouseButtonEventArgs e)
{
Border BRD = (Border)sender;
int UID = Convert.ToInt32(BRD.Uid);
ShowPage(UID);
}
private void Reset_Data(object sender, MouseButtonEventArgs e)
{
}
private void Download_Data(object sender, MouseButtonEventArgs e)
{
ProgressBarWrapa.Visibility = Visibility.Visible;
// delete data
Database db = new Database();
string sql = "DELETE FROM Persons WHERE AAID > 0;"; //Accreditation Application ID - clear all applicants
Person Prodile = db.GetPersonProfile(sql);
GetNewData();
}
int DownloadingProgressPerText = 0;
public void GetNewData()
{
int AASID = 0;
Database db = new Database();
AID = db.GetAccreditationID();
Person P = new Person();
string sql = "SELECT * FROM Persons WHERE AC = '" + AID + "'"; //get person linked to this event
Person Prodile = db.GetPersonProfile(sql);
if (Prodile.AASID > 0) //Accreditation Application Services ID
{
AASID = Prodile.AASID;
}
try
{
string Url = "https://footprintapp.net/api/accreditation/getapplicants/ac/" + +AID + "/id/" + AASID; //get all applicants for this event and where > AASID
Console.WriteLine(Url);
pertcent = 0;
LoadingText.Content = "Downloading: " + pertcent;
WebClient wb = new WebClient();
wb.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadDATAProgressChanged);
wb.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringCompleted);
wb.DownloadStringAsync(new Uri(Url));
}
catch (Exception error)
{
Console.WriteLine(error.ToString());
}
}
private void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
//20190710 - added try catch - maanie
try
{
var fullPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var LastUpdatePath = System.IO.Path.Combine(fullPath, "Data.json");
string htmldoc = e.Result;
string Web_Data = Convert.ToString(htmldoc);
Web_Data = Web_Data.Replace("'", "\'");
var JsonObjects = JsonConvert.DeserializeObject(Web_Data);
int count = JsonObjects.data.Count;
pertcent = pertcent + 3;
if (count > 0)
{
Person Profile = new Person();
int last_id = Profile.save_to_db(Web_Data);
if (last_id > 0)
{
DownloadingProgress.Value = pertcent;
GetNewData();
}
else
{
//Download all Profile photos
GetProfileImages();
}
}
else
{
//Download all Profile photos
GetProfileImages();
}
}
catch(Exception ex)
{
LoadingText.Content = "Unable to download data";
}
}
private void DownloadDATAProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
DownloadingProgress.Minimum = 0;
double receive = double.Parse(e.BytesReceived.ToString());
double total = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = receive / total * 50;
pertcent = pertcent + 5;
//LoadingText.Content = "Downloading: "+ string.Format("{0:0.##}", percentage);
ResetData_text.Text = "Download .....";
DownloadingProgress.Value = pertcent;
LoadingText.Content = "Downloading:" + pertcent + '%';
}
public int DownloadingImg = 0;
private void GetProfileImages()
{
try
{
bool is_online = online.CheckForInternetConnection();
if (is_online == true)
{
Console.WriteLine("Download ..");
Person PersonDb = new Person();
Person profile = PersonDb.GetImagesUpdates();
if (DownloadingImg == 0 && profile.AAID > 0)
{
if (AID > 0)
{
DownloadingImg = 1;
using (var client = new WebClient())
{
string url = "https://footprintapp.net/api/accreditation/getimages/ac/" + AID + "/id/" + profile.AAID;
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadPicProgressChanged);
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadPicFileCompleted);
client.DownloadStringAsync(new Uri(url));
}
}
}
else //No more images found
{
ResetData_text.Text = "Download Done";
DownloadingProgress.Value = 100;
LoadingText.Content = "Download 100%";
Scan Page = new Scan();
main.Content = Page;
Page.main = main;
Page.Header = Header;
}
}
}
catch //(Exception error)
{
//MessageBox.Show(error.ToString());
}
}
private void DownloadPicProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
}
private void DownloadPicFileCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
string htmldoc = e.Result;
string Web_Data = Convert.ToString(htmldoc);
Web_Data = Web_Data.Replace("'", "\'");
var JsonObjects = JsonConvert.DeserializeObject(Web_Data);
Database SQL = new Database();
int i = 0;
foreach (var Services in JsonObjects)
{
if (Services.User_pic != "NULL")
{
string path = @"c:\temp_acc\" + Services.AAID + ".txt";
//Console.WriteLine("Saving .."+ path);
try
{
string IMG = Services.User_pic.ToString();
System.IO.File.WriteAllText(path, IMG);
}
catch
{
}
}
string sql = "UPDATE Persons SET " +
" User_pic = '1' " +
" WHERE AAID = '" + Services.AAID + "'; ";
Console.WriteLine("Saving .." + sql);
bool updated = SQL.ExecuteData(sql);
i++;
}
}
catch { }
DownloadingImg = 0;
GetProfileImages();
}
private void Import_CSV(object sender, MouseButtonEventArgs e)
{
Person Profile = new Person();
string csvfilePath = @"c:\temp_acc\accreditations.csv";
if (File.Exists(csvfilePath))
{
using (TextFieldParser csvReader = new TextFieldParser(csvfilePath))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
Profile.save_to_db(fieldData);
}
}
Scan Page = new Scan();
main.Content = Page;
Page.main = main;
Page.Header = Header;
}
else
{
ImportCSV_text.Text = "File not found!";
}
}
private void ToggleButton_Click(object sender, RoutedEventArgs e)
{
if((sender as ToggleButton).IsChecked == true) //online mode = OFF
{
App.Current.Properties["WorkMode"] = "OFF";
}
else //online mode = ON
{
App.Current.Properties["WorkMode"] = "ON";
}
}
}
}