async Task ExecuteLoadItemsCommand()
        {
            IsBusy = true;
            int    HeightList = 0;
            double Cost       = 0;
            double Income     = 0;

            try
            {
                RegistersList.Clear();

                var idUser = Application.Current.Properties["userId"].ToString();

                usersServices = new UsersServices();
                var userInfo = await usersServices.GetUserInfo(idUser);

                UserInfo = userInfo.data;

                registersServices = new RegistersServices();
                var registersList = await registersServices.GetAllRegisters(idUser);

                foreach (ItemRegister itemRegister in registersList.data.items)
                {
                    HeightList = (itemRegister.data.Count * 40) + (10 * itemRegister.data.Count) + 30;

                    foreach (ItemDetail itemDetail in itemRegister.data)
                    {
                        if (itemDetail.type == "chiphi")
                        {
                            Cost += itemDetail.money;
                        }

                        if (itemDetail.type == "thunhap")
                        {
                            Income += itemDetail.money;
                        }
                    }

                    itemRegister.AddProperty(HeightList, Cost, Income);
                    RegistersList.Add(itemRegister);

                    HeightList = 0; Cost = 0; Income = 0;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Beispiel #2
0
        private async void UpdateItem()
        {
            var typeConst         = new TypeMethod();
            var urlConst          = new UrlApi();
            var registersServices = new RegistersServices();

            if (!string.IsNullOrEmpty(Money.Text))
            {
                var indexDtbSelected  = DtbPicker.SelectedIndex;
                var indexItemSelected = ContentPicker.SelectedIndex;
                var status            = false;

                double money       = double.Parse(Money.Text);
                string description = string.IsNullOrEmpty(Description.Text) ? "" : Description.Text;
                string idUser      = Application.Current.Properties["userId"].ToString();

                if (indexDtbSelected == 0)
                {
                    string type      = typeConst.Cost;
                    int    idService = viewModel.ListCostsId[indexItemSelected];

                    PutRegister ItemCost = new PutRegister(id, type, money, description, idService);

                    status = await registersServices.PutRegister(ItemCost);
                }
                else
                {
                    string type      = typeConst.Income;
                    int    idService = viewModel.ListIncomesId[indexItemSelected];

                    PutRegister ItemIncome = new PutRegister(id, type, money, description, idService);

                    status = await registersServices.PutRegister(ItemIncome);
                }

                if (status)
                {
                    await DisplayAlert("Thông báo", "Cập nhật thành công!", "ok");

                    await Navigation.PushAsync(new HomePage());
                }
                else
                {
                    await DisplayAlert("Thông báo", "Cập nhật không thành công. Vui lòng thử lại sau!", "ok");
                }
            }
            else
            {
                await DisplayAlert("Thông báo", "Vui lòng nhập đầy đủ thông tin!", "cancel");

                return;
            }
        }
        private async void signin_toolbar_Clicked(object sender, EventArgs e)
        {
            if (!CheckNetwork.Check_Connectivity())
            {
                return;
            }

            //folder = FileSystem.Current.LocalStorage;
            //ExistenceCheckResult Resultfolder = await folder.CheckExistsAsync("folderAccount");
            //if (Resultfolder != ExistenceCheckResult.FolderExists)
            //{
            //    DependencyService.Get<SnackBar>().ShowSnackBar("Don't Have Any Account");
            //    return;
            //}
            //folder = await folder.CreateFolderAsync("folderAccount", CreationCollisionOption.OpenIfExists);
            //file = await folder.CreateFileAsync("fileAccount", CreationCollisionOption.OpenIfExists);

            //string Accounts = await file.ReadAllTextAsync();
            //if (Accounts == "")
            //{
            //    DependencyService.Get<SnackBar>().ShowSnackBar("Don't Have Any Account");
            //    return;
            //}
            //await Navigation.PushAsync(new SignIn());


            RegistersServices R_S           = new RegistersServices();
            List <User>       listregisters = await R_S.GetRegistersAsync();

            if (listregisters == null)
            {
                DependencyService.Get <SnackBar>().ShowSnackBar(Lang.Resource.NotFoundAccounts);
                return;
            }

            //folder = FileSystem.Current.LocalStorage;
            //ExistenceCheckResult Resultfolder = await folder.CheckExistsAsync("folderAccount");
            //if (Resultfolder != ExistenceCheckResult.FolderExists)
            //{
            //    DependencyService.Get<SnackBar>().ShowSnackBar("Don't Have Any Account");
            //    return;
            //}
            //folder = await folder.CreateFolderAsync("folderAccount", CreationCollisionOption.OpenIfExists);
            //file = await folder.CreateFileAsync("fileAccount", CreationCollisionOption.OpenIfExists);


            await Navigation.PushAsync(new SignIn());
        }
Beispiel #4
0
        private async void SignIn_clicked(object sender, EventArgs e)
        {
            if (!CheckNetwork.Check_Connectivity())
            {
                return;
            }

            RegistersServices R_S           = new RegistersServices();
            List <User>       listregisters = await R_S.GetRegistersAsync();

            if (listregisters == null || listregisters.Count == 0)
            {
                DependencyService.Get <SnackBar>().ShowSnackBar("Don't Have Any Account");
                return;
            }
            await Navigation.PushAsync(new SignIn());
        }
        private async Task InitializeDataAsync(string type, int id)
        {
            var registersServices = new RegistersServices();
            var typeConst         = new TypeMethod();
            var registerItem      = new Register();

            //Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(expenseItem));

            registerItem = await registersServices.GetRegisterById(type, id);

            itemDetail = registerItem.data;

            if (type == typeConst.Income)
            {
                itemDetail.typeSub = "Thu nhập";
            }
            if (type == typeConst.Cost)
            {
                itemDetail.typeSub = "Chi phí";
            }
        }
        public async void DeleteItem_Clicked(object sender, EventArgs e)
        {
            var  registersServices = new RegistersServices();
            bool answer            = await DisplayAlert("Thông báo", "Bạn có muốn xóa dữ liệu?", "Có", "Không");

            if (answer)
            {
                ItemDetail item      = viewModel.itemDetail;
                bool       statusDel = await registersServices.DeleteRegister(item.type, item.id);

                if (statusDel)
                {
                    await DisplayAlert("Thông báo", "Xóa thành công!", "ok");

                    await Navigation.PushAsync(new HomePage());
                }
                else
                {
                    await DisplayAlert("Thông báo", "Xóa không thành công. Vui lòng thử lại sau!", "ok");
                }
            }
        }
Beispiel #7
0
        private async Task InitializeDataAsync()
        {
            var    typeConst         = new TypeMethod();
            var    registersServices = new RegistersServices();
            var    usersServices     = new UsersServices();
            int    HeightList        = 0;
            double Cost   = 0;
            double Income = 0;

            var idUser = Application.Current.Properties["userId"].ToString();

            User = await usersServices.GetUserAsync(idUser);

            RegistersList = await registersServices.GetAllRegisters(idUser);

            foreach (ItemRegister itemRegister in RegistersList.data.items)
            {
                HeightList = (itemRegister.data.Count * 40) + (10 * itemRegister.data.Count) + 30;
                //Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(itemList));
                foreach (ItemDetail itemDetail in itemRegister.data)
                {
                    if (itemDetail.type == typeConst.Cost)
                    {
                        Cost += itemDetail.money;
                    }

                    if (itemDetail.type == typeConst.Income)
                    {
                        Income += itemDetail.money;
                    }
                }

                itemRegister.AddProperty(HeightList, Cost, Income);

                HeightList = 0; Cost = 0; Income = 0;
            }
        }
        private async void SignIn_clicked(object sender, EventArgs e)
        {
            if (ActivityIndicator.IsRunning)
            {
                return;
            }
            List <User> register = new List <User>();
            var         Email    = email.Text;
            var         Password = password.Text;

            if (String.IsNullOrWhiteSpace(Email) || String.IsNullOrWhiteSpace(Password))
            {
                check_inputs.Text = Lang.Resource.check_inputsSignin1;
                return;
            }
            if (Password.Length > 8)
            {
                check_inputs.Text = Lang.Resource.check_inputsSignin2;
                return;
            }
            if (Password.Contains("~") || Email.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;
            }
            if (!CheckNetwork.Check_Connectivity())
            {
                return;
            }

            ActivityIndicator.IsVisible = true;
            ActivityIndicator.IsRunning = true;
            contentpage.Opacity         = 0.5;

            RegistersServices R_S       = new RegistersServices();
            List <User>       registers = await R_S.GetRegistersBykeywordAsync(Email.Substring(0, Email.IndexOf(".")));

            if (registers != null)
            {
                if (registers.Count > 0 && registers.ElementAt(0).Email_Property == Email)
                {
                    FileAndFolderUser(registers.ElementAt(0));
                    await Task.Delay(500);

                    await Navigation.PopToRootAsync();
                }
                else
                {
                    ActivityIndicator.IsVisible = false;
                    ActivityIndicator.IsRunning = false;
                    contentpage.Opacity         = 1;
                    check_inputs.Text           = Lang.Resource.check_inputsSignin5;
                    return;
                }
            }
            await Task.Delay(500);

            ActivityIndicator.IsVisible = false;
            ActivityIndicator.IsRunning = false;
            contentpage.Opacity         = 1;
        }
        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();
            }
        }