private async void FileAndFolderUser(User register) { // Folder And File User folder = FileSystem.Current.LocalStorage; List <User> registers = new List <User>(); registers.Add(register); string serialize = Serializable_Account.serialize(registers); folder = await folder.CreateFolderAsync("folderUser", CreationCollisionOption.ReplaceExisting); file = await folder.CreateFileAsync("fileUser", CreationCollisionOption.ReplaceExisting); await file.WriteAllTextAsync(serialize); }
public async Task <string> GetUserName() { User register = null; try { folder = FileSystem.Current.LocalStorage; folder = await folder.CreateFolderAsync("folderUser", CreationCollisionOption.OpenIfExists); file = await folder.CreateFileAsync("fileUser", CreationCollisionOption.OpenIfExists); string AccountUser = await file.ReadAllTextAsync(); register = Serializable_Account.deserialize(AccountUser).ElementAt(0); } catch (Exception ex) { DependencyService.Get <SnackBar>().ShowSnackBar("Error ... cann't access to device storage"); } return(register.UserName); }
private async void GetUsers() { Users = await R_S.GetRegistersAsync(); folder = FileSystem.Current.LocalStorage; folder = await folder.CreateFolderAsync("folderUser", CreationCollisionOption.OpenIfExists); file = await folder.CreateFileAsync("fileUser", CreationCollisionOption.OpenIfExists); string AccountUser = await file.ReadAllTextAsync(); User register = Serializable_Account.deserialize(AccountUser).ElementAt(0); Users = Users.Where(user => user.Email != register.Email).ToList(); ListUsers.ItemsSource = Users; await Task.Delay(400); ActivityIndicator.IsRunning = false; contentpage.IsVisible = true; }
protected async override void OnAppearing() { folder = FileSystem.Current.LocalStorage; ExistenceCheckResult Resultfolder = await folder.CheckExistsAsync("folderUser"); if (Resultfolder != ExistenceCheckResult.FolderExists) { DependencyService.Get <SnackBar>().ShowSnackBar("Error ... Don't have an account"); } try { folder = FileSystem.Current.LocalStorage; folder = await folder.CreateFolderAsync("folderUser", CreationCollisionOption.OpenIfExists); file = await folder.CreateFileAsync("fileUser", CreationCollisionOption.OpenIfExists); string AccountUser = await file.ReadAllTextAsync(); register = Serializable_Account.deserialize(AccountUser).ElementAt(0); username.Text = register.UserName_Property; Email.Text = register.Email_Property; Password.Text = register.Password_property; age.Text = register.Age_property.ToString(); country.Text = register.Country_propety; date.Text = register.Date_Property; await Task.Delay(700); ActivityIndicator.IsRunning = false; contentpage.IsVisible = true; } catch (Exception ex) { ActivityIndicator.IsVisible = false; ActivityIndicator.IsRunning = false; DependencyService.Get <SnackBar>().ShowSnackBar("Error ... Don't have an account"); } base.OnAppearing(); }
private async void SignUp_clicked(object sender, EventArgs e) { string userName = username.Text; string Email = email.Text; string Password = password.Text; string Age = age.Text; if (String.IsNullOrWhiteSpace(Age) || String.IsNullOrWhiteSpace(Email) || String.IsNullOrWhiteSpace(userName) || String.IsNullOrWhiteSpace(Password)) { check_inputs.Text = Lang.Resource.check_inputsSignin1; return; } if (Password.Length > 8) { check_inputs.Text = Lang.Resource.check_inputsSignin2; return; } string Check = userName + Email + Password + Age; if (Check.Contains("~")) { check_inputs.Text = Lang.Resource.check_inputsSignin3; return; } var emailpattern = "^([\\w\\.\\-]+)@([\\w\\-]+)((\\.(\\w){2,3})+)$"; if (!String.IsNullOrWhiteSpace(Email) && !(Regex.IsMatch(Email, emailpattern))) { check_inputs.Text = Lang.Resource.check_inputsSignin4; return; } var confirmpassword = verifypassword.Text; if (confirmpassword != Password) { check_inputs.Text = Lang.Resource.confirmPassword; return; } if (!CheckNetwork.Check_Connectivity()) { return; } ActivityIndicator.IsVisible = true; ActivityIndicator.IsRunning = true; contentpage.Opacity = 0.5; // Folder Accounts folder = FileSystem.Current.LocalStorage; ExistenceCheckResult Result = await folder.CheckExistsAsync("folderAccount"); if (Result != ExistenceCheckResult.FolderExists) { folder = await folder.CreateFolderAsync("folderAccount", CreationCollisionOption.ReplaceExisting); } else { folder = await folder.CreateFolderAsync("folderAccount", CreationCollisionOption.OpenIfExists); } //file = await folder.GetFileAsync("fileAccount"); //await file.DeleteAsync(); //return; //string serialize; Register r; //Result = await folder.CheckExistsAsync("fileAccount"); //if (Result != ExistenceCheckResult.FileExists) //{ // // File Accounts // file = await folder.CreateFileAsync("fileAccount", CreationCollisionOption.ReplaceExisting); // r = new Register(userName, Password, "khalil", Email, DateTime.Now.ToString()); // register.Add(r); // serialize = Serializable_Account.serialize(register); // await file.WriteAllTextAsync(serialize); // // Folder And File User // FileAndFolderUser(serialize); // await Navigation.PopToRootAsync(); // return; //} //file = await folder.CreateFileAsync("fileAccount", CreationCollisionOption.OpenIfExists); //string Accounts = await file.ReadAllTextAsync(); //if (Accounts == "") //{ // r = new Register(userName, Password, "khalil", Email, DateTime.Now.ToString()); // register.Add(r); // serialize = Serializable_Account.serialize(register); // await file.WriteAllTextAsync(serialize); // // Folder And File User // FileAndFolderUser(serialize); // await Navigation.PopToRootAsync(); // return; //} //register = Serializable_Account.deserialize(Accounts); //foreach (Register R in register) //{ // if (userName.Equals(R.UserName_Property) || Email.Equals(R.Email_Property)) // { // check_inputs.Text = "there are same UserName or Email ..."; // return; // } //} //r = new Register(userName, Password, "khalil", Email, DateTime.Now.ToString()); //register.Add(r); //serialize = Serializable_Account.serialize(register); //await file.WriteAllTextAsync(serialize); //// Folder And File User //register.Clear(); //register.Add(r); //serialize = Serializable_Account.serialize(register); //FileAndFolderUser(serialize); RegistersServices R_S = new RegistersServices(); string _email = Email.Substring(0, Email.IndexOf(".")); User user = null; List <User> listregisters = new List <User>(); if (register == null) { listregisters = await R_S.GetRegistersBykeywordAsync(_email); if (listregisters.Count == 0) { user = new User(userName, Password, Email, Int32.Parse(Age), country, DateTime.Now.ToString().Substring(0, 10)); await R_S.PostRegistersAsync(user); listregisters.Add(user); string serialize = Serializable_Account.serialize(listregisters); FileAndFolderUser(serialize); await Task.Delay(500); await Navigation.PopToRootAsync(); } else { check_inputs.Text = Lang.Resource.username_same_email; ActivityIndicator.IsVisible = false; ActivityIndicator.IsRunning = false; contentpage.Opacity = 1; return; } } else { user = new User(userName, Password, Email, Int32.Parse(Age), country, register.Date); R_S.Set_UrlApi("Edit/"); await R_S.PutRegistersAsync(user); listregisters.Add(user); string serialize = Serializable_Account.serialize(listregisters); FileAndFolderUser(serialize); await Task.Delay(500); await Navigation.PopModalAsync(); } }
private async void Save_Activated(object sender, EventArgs e) { stackQuestions.BackgroundColor = Color.FromHex("e5e5e5"); var res = await DisplayAlert(Lang.Resource.titleMessage, Lang.Resource.bodyMessageSave, Lang.Resource.btnCancelMessage, Lang.Resource.btnOkMessage); stackQuestions.BackgroundColor = Color.FromHex("ffffff"); if (res) { return; } ActivityIndicator.IsRunning = true; stackQuestions.Opacity = 0.4; folder = FileSystem.Current.LocalStorage; folder = await folder.CreateFolderAsync("folderUser", CreationCollisionOption.OpenIfExists); file = await folder.CreateFileAsync("fileUser", CreationCollisionOption.OpenIfExists); string AccountUser = await file.ReadAllTextAsync(); User register = Serializable_Account.deserialize(AccountUser).ElementAt(0); for (int i = 1; i < stackQuestions.Children.Count; i++) { string date = ""; // Get Answer From Text Question if (((stackQuestions.Children.ElementAt(i) as StackLayout).StyleId.Equals("text"))) { string answer = ((stackQuestions.Children.ElementAt(i) as StackLayout).Children[2] as Entry).Text; if (String.IsNullOrWhiteSpace(answer) && (SelectedSurvey.Questions[i - 1] as Text_Question).requireAnswer) { DependencyService.Get <SnackBar>().ShowSnackBar(Lang.Resource.the_question + i + Lang.Resource.restTheQuestion); return; } if (!String.IsNullOrWhiteSpace(answer)) { if (answer.Contains("~")) { DependencyService.Get <SnackBar>().ShowSnackBar(Lang.Resource.the_question + i + Lang.Resource.rest_theTextQuestion); return; } } date += DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); (SelectedSurvey.Questions[i - 1] as Text_Question).Answer_question(answer, date, register); } else if (((stackQuestions.Children.ElementAt(i) as StackLayout).StyleId.Equals("dropdown"))) { string answer = ((stackQuestions.Children.ElementAt(i) as StackLayout).Children[2] as Picker).Title; if ((String.IsNullOrWhiteSpace(answer) || answer.Equals("Choices")) && (SelectedSurvey.Questions[i - 1] as Multible).require_Ans) { DependencyService.Get <SnackBar>().ShowSnackBar(Lang.Resource.the_question + i + Lang.Resource.restTheQuestion); return; } date += DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); (SelectedSurvey.Questions[i - 1] as Multible).Answer_question(answer, date, register); } else if (((stackQuestions.Children.ElementAt(i) as StackLayout).StyleId.Equals("multible"))) { bool answered = false; if ((SelectedSurvey.Questions[i - 1] as Multible).Type.Equals(TypeQuestion.Multible)) { string answer = ""; for (int j = 0; j < (((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children.Count; j++) { var stack = (((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children[j] as StackLayout; var img = stack.Children[0] as Image; if (!img.StyleId.Contains("un")) { answer = (((((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children[j] as StackLayout).Children[1] as Label).Text; answered = true; } } if (!answered && (SelectedSurvey.Questions[i - 1] as Multible).require_Ans) { DependencyService.Get <SnackBar>().ShowSnackBar(Lang.Resource.the_question + i + Lang.Resource.restTheQuestion); return; } Multiable_answer multiAnswer = new Multiable_answer((((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children.Count); date += DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); (SelectedSurvey.Questions[i - 1] as Multible).Answer_question(answer, date, register); } else if ((SelectedSurvey.Questions[i - 1] as Multible).Type.Equals(TypeQuestion.MultiChoice)) { string[] multichoicesAnswers = new string[(((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children.Count]; for (int j = 0; j < (((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children.Count; j++) { var stack = (((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children[j] as StackLayout; var img = stack.Children[0] as Image; if (!img.StyleId.Contains("un")) { multichoicesAnswers[j] = (((((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[0] as StackLayout).Children[j] as StackLayout).Children[1] as Label).Text; answered = true; } } if (!answered && (SelectedSurvey.Questions[i - 1] as Multible).require_Ans) { DependencyService.Get <SnackBar>().ShowSnackBar(Lang.Resource.the_question + i + Lang.Resource.restTheQuestion); return; } (SelectedSurvey.Questions[i - 1] as Multible).list_multichoice_answer = new LinkedList <MultiChoiceAnswercs>(); MultiChoiceAnswercs multichoices = new MultiChoiceAnswercs(multichoicesAnswers.Length); date += DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); (SelectedSurvey.Questions[i - 1] as Multible).Answer_question(multichoicesAnswers, date, register); } } else if (((stackQuestions.Children.ElementAt(i) as StackLayout).StyleId.Equals("slider"))) { int counter = (int)(((stackQuestions.Children[i] as StackLayout).Children[2] as StackLayout).Children[1] as Slider).Value; date += DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); (SelectedSurvey.Questions[i - 1] as Slider_Question).Answer_question(counter, date, register); } } stackQuestions.Opacity = 0.5; if (CheckNetwork.Check_Connectivity()) { SurveysServices S_S = new SurveysServices(); S_S.Set_UrlApi("ShareResponsedSurveys/"); await S_S.PostSurveysAsync(SelectedSurvey); } else { List <Survey> surveys = new List <Survey>(); folder = FileSystem.Current.LocalStorage; ExistenceCheckResult result = await folder.CheckExistsAsync("ShareResponsedSurveys"); if (result == ExistenceCheckResult.FolderExists) { folder = await folder.CreateFolderAsync("ShareResponsedSurveys", CreationCollisionOption.OpenIfExists); file = await folder.CreateFileAsync("ShareResponsedSurveys", CreationCollisionOption.OpenIfExists); string Content = await file.ReadAllTextAsync(); if (String.IsNullOrEmpty(Content) || String.IsNullOrWhiteSpace(Content)) { surveys.Add(SelectedSurvey); Content = Serializable_Survey.serialize(surveys); await file.WriteAllTextAsync(Content); await Task.Delay(500); await Navigation.PopAsync(); return; } surveys = Serializable_Survey.deserialize(Content).ToList(); if (surveys.Contains(SelectedSurvey)) { foreach (Survey S in surveys) { if (S.Id == SelectedSurvey.Id_Property) { S.Questions = SelectedSurvey.Questions; } } } else { surveys.Add(SelectedSurvey); } Content = Serializable_Survey.serialize(surveys); await file.WriteAllTextAsync(Content); } else { folder = await folder.CreateFolderAsync("ShareResponsedSurveys", CreationCollisionOption.ReplaceExisting); file = await folder.CreateFileAsync("ShareResponsedSurveys", CreationCollisionOption.ReplaceExisting); surveys.Add(SelectedSurvey); string content = Serializable_Survey.serialize(surveys); await file.WriteAllTextAsync(content); } } await Task.Delay(500); await Navigation.PopAsync(); }