private async Task GetProductsAsync() { IsBusy = true; var _restService = new RESTService(); var result = await _restService.GetProductsAsync(); if (result.Item1 == true) { var json = result.Item2; if (DataStore.GetDataStoredJson("Products").ToList().Count > 0) { DataStore.UpdateData("Products", json); } else { var Data = new Stored_Data_Model { Type = "Products", json = json }; DataStore.AddData(Data); } UpdateProductsListview(); } else { DependencyService.Get <IMessage>().ShortAlert(result.Item2); } IsBusy = false; }
public void OnXMLLoadComplete(AssetLoadRequest inValue) { XMLAssetLoader xmlAssetLoader = inValue as XMLAssetLoader; CombinedData data = xmlAssetLoader?.Content as CombinedData; if (data != null) { foreach (BaseData instance in data.Data) { DataStore.AddData(instance); } } OnLoadingComplete(0); }
private async Task ExecuteOnLogin() { if (!string.IsNullOrEmpty(UserName) & !string.IsNullOrEmpty(Password)) { IsBusy = true; var _restService = new RESTService(); var version = await _restService.CheckVersion(); if (version.Item1) { var responce = await _restService.Login(UserName.TrimEnd(), Password.TrimEnd()); if (responce.Item1) { var responce2 = await _restService.Get_Contacts_Async(); if (responce2.Item1) { if (DataStore.GetDataStoredJson("Mail_Contact_List").ToList().Count > 0) { DataStore.UpdateData("Mail_Contact_List", responce2.Item2); } else { var Data = new Stored_Data_Model { DateTime = DateTime.Now, json = responce2.Item2, Type = "Mail_Contact_List" }; DataStore.AddData(Data); } if (DateTime.Now.DayOfWeek == DayOfWeek.Sunday) { var coords_list = DataStore.GetLocations().Where(i => i.Date.Date < DateTime.Now.Date).ToList(); if (coords_list.Count > 0) { foreach (var coords in coords_list) { DataStore.DeleteLocation(coords.Id); } } } Application.Current.MainPage = new NavigationPage(new MainPage()); } else { Responce = responce2.Item2; } var responce3 = await _restService.GetQuestionnairesAsyc(); if (responce3.Item1) { if (DataStore.GetDataStoredJson("Questionnaires").ToList().Count > 0) { DataStore.UpdateData("Questionnaires", responce3.Item2); } else { var Data = new Stored_Data_Model { DateTime = DateTime.Now, json = responce3.Item2, Type = "Questionnaires" }; DataStore.AddData(Data); } } } else { Responce = responce.Item2; } } else { Responce = version.Item2; } IsBusy = false; } }
public async Task UploadDataAsync() { string LogguedIn = null; if (CrossSecureStorage.Current.HasKey("LogguedIn")) { LogguedIn = CrossSecureStorage.Current.GetValue("LogguedIn"); } if (LogguedIn == "True") { var Add_Contacts = DataStore.GetContactsToUpload().ToList(); var Edit_Contacts = DataStore.GetEditContactsToUpload().ToList(); var Reports = DataStore.GetReportsToUpload().ToList(); var Unvailibilitys = DataStore.GetUnvailibilityToUpload().ToList(); var Questionnaire = DataStore.GetQuastionnairesToUpload().ToList(); var _tokenController = new TokenController(); bool IsFreeMission = false; var Token = _tokenController.DecodeToken(); if (Token.Item1) { if (Token.Item2.permissions.Contains("Tournée Libre")) { IsFreeMission = true; } } else { CrossSecureStorage.Current.SetValue("LogguedIn", "False"); CrossSecureStorage.Current.DeleteKey("acces_token"); Application.Current.MainPage = new Login_View(); return; } string[] error_list = { "Contact existe déjà", "Contact non trouvé", "Client existe déjà", "Prénom ne doit pas étre vide", "Nom ne doit pas étre vide", "Sexe ne doit pas étre vide", "Sécteur ne doit pas étre vide", "Adresse ne doit pas étre vide", "Commune ne doit pas étre vide", "Spécialité ne doit pas étre vide", "Potontiel ne doit pas étre vide", "Wilaya ne doit pas étre vide" }; if (Add_Contacts.Count > 0) { foreach (var contact in Add_Contacts) { if (!error_list.Contains(contact.Last_Error)) { var obj = JsonConvert.DeserializeObject <NewContact_Model>(contact.Json); Stream picture_stream = null; if (!string.IsNullOrWhiteSpace(contact.PicturePath)) { var picture = File.ReadAllBytes(contact.PicturePath); picture_stream = new MemoryStream(picture); } var Result = await RESTService.Post_New_Client(obj, null, picture_stream); if (Result.Item1) { var List = DataStore.GetDataStoredJson("Contacts").ToList(); if (List.Count > 0) { var Contacts_List = JsonConvert.DeserializeObject <List <Client2> >(List[0].json); Contacts_List.Add(Result.Item3); var json = JsonConvert.SerializeObject(Contacts_List); DataStore.UpdateData("Contacts", json); DataStore.DeleteContactToUpdate(contact.Id); } else { var Contacts_List = new List <Client2>(); Contacts_List.Add(Result.Item3); var json = JsonConvert.SerializeObject(Contacts_List); var data = new Stored_Data_Model { DateTime = DateTime.Now, json = json, Type = "Contacts" }; DataStore.AddData(data); DataStore.DeleteContactToUpdate(contact.Id); } } else { DataStore.UpdateContactToUpload(contact.Id, Result.Item2); } } MessagingCenter.Send(this, "ContactsSyncUpdated"); } } if (Edit_Contacts.Count > 0) { foreach (var contact in Edit_Contacts) { if (!error_list.Contains(contact.Last_Error)) { var obj = JsonConvert.DeserializeObject <NewContact_Model>(contact.Json); Stream picture_stream = null; if (!string.IsNullOrWhiteSpace(contact.PicturePath)) { var picture = File.ReadAllBytes(contact.PicturePath); picture_stream = new MemoryStream(picture); } var Result = await RESTService.Update_client(obj, null, picture_stream); if (Result.Item1) { var List = DataStore.GetDataStoredJson("Contacts").ToList(); var Contacts_List = JsonConvert.DeserializeObject <List <Client2> >(List[0].json); try { Contacts_List.RemoveAt(Contacts_List.IndexOf(Contacts_List.SingleOrDefault(i => i._id == obj._id))); Contacts_List.Add(Result.Item3); var json = JsonConvert.SerializeObject(Contacts_List); DataStore.UpdateData("Contacts", json); DataStore.DeleteEditContactToUpdate(contact.Id); } catch { DataStore.UpdateEditContactToUpload(contact.Id, "Erreur Lors de Supression"); } } else { DataStore.UpdateEditContactToUpload(contact.Id, Result.Item2); } } MessagingCenter.Send(this, "ContactsSyncUpdated"); } } if (Reports.Count > 0) { foreach (var report in Reports) { var Result = await RESTService.Post_Answer(report.report, report.Global_id, report.Mission_id, report.Contact_id, report.IsFreeMission); if (Result.Item1) { DataStore.DeleteReportToUload(report.Id); if (report.IsFreeMission) { } } else { DataStore.UpdateReportToUpload(report.Id, Result.Item2); } MessagingCenter.Send(this, "ContactsSyncUpdated"); } } if (Unvailibilitys.Count > 0) { foreach (var unvailibility in Unvailibilitys) { var Result = await RESTService.Post_Unvailability(unvailibility.Json, unvailibility.Global_id, unvailibility.Mission_id, unvailibility.Contact_id, unvailibility.IsFreeMission); if (Result.Item1) { DataStore.DeleteUnvailibilityToUload(unvailibility.Id); if (unvailibility.IsFreeMission) { } } else { DataStore.UpdateUnvailibilityToUpload(unvailibility.Id, Result.Item2); } MessagingCenter.Send(this, "ContactsSyncUpdated"); } } if (Questionnaire.Count > 0) { foreach (var questionnaire in Questionnaire) { var Result = await RESTService.PostQuestionnaireAsync(questionnaire.Json); if (Result.Item1) { DataStore.DeleteQuestionnaireToUpload(questionnaire.Id); } else { DataStore.UpdateQuestionnairesToUpload(questionnaire.Id, Result.Item2); } MessagingCenter.Send(this, "ContactsSyncUpdated"); } } var Result2 = await RESTService.GetMissionsAsync(); if (Result2.Item1) { var List = DataStore.GetDataStoredJson("Missions").ToList(); if (List.Count > 0) { DataStore.UpdateData("Missions", Result2.Item2); } else { var data = new Stored_Data_Model { DateTime = DateTime.Now, json = Result2.Item2, Type = "Missions" }; DataStore.AddData(data); } } if (IsFreeMission) { var Result = await RESTService.GetPeriodHistryAsync(DateTime.Now, DateTime.Now); if (Result.Item1) { var List = DataStore.GetDataStoredJson("VisiteToday").ToList(); if (List.Count > 0) { DataStore.UpdateData("VisiteToday", Result.Item2); } else { var data = new Stored_Data_Model { DateTime = DateTime.Now, json = Result.Item2, Type = "VisiteToday" }; DataStore.AddData(data); } } } } }
private void _preprocessData(List <Signal> e) { bool newStage = true; List <Signal> filteredSignal = new List <Signal>(); foreach (var item in SettingsVM.PreProcessSteps) { item.GetSignalNameList(); if (item.Model is Customization) { if (newStage) { newStage = false; // check flags and change values to NAN. foreach (var sig in filteredSignal) { // don't need all of them, only the ones was in previous filters sig.ChangeFlaggedValueToNAN(); } filteredSignal = new List <Signal>(); } try { item.Model.Process(e); } catch (Exception ex) { MessageBox.Show(ex.Message); } } if (item.Model is Filter) { if (!newStage) { newStage = true; } List <Signal> sigs = null; try { sigs = item.Model.Process(e); } catch (Exception ex) { MessageBox.Show(ex.Message); } if (sigs != null) { foreach (var sig in sigs) { if (!filteredSignal.Contains(sig)) { filteredSignal.Add(sig); } } } } } // need change the last batch of filter to Nan if the last one is not customization if (newStage) { foreach (var sig in filteredSignal) { // don't need all of them, only the ones was in previous filters sig.ChangeFlaggedValueToNAN(); } } try { DataMngr.AddData(e); } catch (Exception ex) { MessageBox.Show(ex.Message); } // concat data, different signature concat data differently //foreach (var item in SettingsVM.SignatureSettings) //{ // item.Model.Process(e); //} }