Example #1
0
        public async void BtnDangSimClicked(object sender, EventArgs e)
        {
            var confirm = await DisplayAlert("Xác nhận", "Bạn có muốn bán tất cả sim vừa import không", "Đồng ý", "Đóng");

            if (!confirm)
            {
                return;
            }

            gridLoading.IsVisible = true;
            ApiResponse response = await ApiHelper.Put("api/sim/postsimlist", _simList.Select(x => x.Id).ToArray());

            if (response.IsSuccess)
            {
                await Navigation.PopAsync(false);

                MySimListViewModel mySimListViewModel = Shell.Current.BindingContext as MySimListViewModel;
                mySimListViewModel.RefreshCommand.Execute(null);
                XFToast.ShortMessage("Đăng sim thành công");
            }
            else
            {
                await DisplayAlert("", response.Message, "Đóng");
            }
            gridLoading.IsVisible = false;
        }
Example #2
0
        public async Task Initialize()
        {
            this.BindingContext = viewModel = new MySimListViewModel();
            if (UserLogged.IsLogged)
            {
                //BtnAddVisible.IsVisible = true;
                //BtnEdit.IsVisible = true;
                //BtnBuyAll.IsVisible = true;
                await viewModel.LoadData();

                ScrollViewStatus.IsVisible = true;

                SimListView.ItemTapped += async(object sender, ItemTappedEventArgs e) =>
                {
                    var item = e.Item as Sim;
                    await Shell.Current.Navigation.PushAsync(new PostSim(item.Id));
                };

                SimListView.ItemAppearing += async(object sender, ItemVisibilityEventArgs e) =>
                {
                    var Sim = e.Item as Sim;
                    if (Sim.Id == viewModel.Data.LastOrDefault().Id)
                    {
                        await viewModel.LoadMoreData();
                    }
                };

                MessagingCenter.Subscribe <PostSim, string>(this, "DeleteSim", (postSimForm, SimId) =>
                {
                    var simDeleted = viewModel.Data.SingleOrDefault(x => x.Id == SimId);
                    if (simDeleted != null)
                    {
                        viewModel.Data.Remove(simDeleted);
                    }
                });
            }
        }
Example #3
0
        private async void BtnPost_Clicked(object sender, EventArgs e)
        {
            AddSimViewModel model = viewModel.Sim;

            if (string.IsNullOrWhiteSpace(model.SimNumber))
            {
                await DisplayAlert("", "Vui lòng nhập số sim", "Đóng");

                return;
            }

            if (model.SimNumber.Length < 9)
            {
                await DisplayAlert("", "Số Sim không đúng định dạng", "Đóng");

                return;
            }

            if (string.IsNullOrWhiteSpace(model.DisplayNumber))
            {
                await DisplayAlert("", "Vui lòng nhập số sim", "Đóng");

                return;
            }

            if (model.Carrier == null)
            {
                await DisplayAlert("", "Vui lòng chọn nhà mạng", "Đóng");

                return;
            }

            if (model.Price.HasValue == false)
            {
                await DisplayAlert("", "Vui lòng nhập giá sim", "Đóng");

                return;
            }
            gridLoading.IsVisible = true;

            Sim sim = new Sim();

            sim.SimNumber     = model.SimNumber;
            sim.DisplayNumber = model.DisplayNumber;
            sim.Price         = model.Price.Value;
            sim.CarrierId     = model.Carrier.Id;
            sim.Description   = model.Description;
            if (model.SubcribeType != null)
            {
                sim.SubcribeTypeId = model.SubcribeType.Id;
            }

            if (SimId != null) // sửa thì gán thêm id.
            {
                sim.Id = SimId;
            }

            IEnumerable <NumberType> numberTypes = viewModel.NumberTypeOptions.Where(x => x.IsSelected).Select(x => new NumberType()
            {
                Id = x.Id
            });

            AddUpdateSimViewModel addUpdateSimViewModel = new AddUpdateSimViewModel();

            addUpdateSimViewModel.Sim         = sim;
            addUpdateSimViewModel.NumberTypes = numberTypes;

            ApiResponse response = null;

            if (SimId == null)
            {
                response = await ApiHelper.Post("api/sim", addUpdateSimViewModel, true);
            }
            else
            {
                response = await ApiHelper.Put("api/sim", addUpdateSimViewModel, true);
            }

            if (response.IsSuccess)
            {
                if (SimId == null)
                {
                    //MySimList mySimList = ((App.Current.MainPage as MainPage).Children[3] as NavigationPage).RootPage as MySimList;
                    //MySimListViewModel mySimListVM = mySimList.BindingContext as MySimListViewModel;

                    MySimListViewModel mySimListVM = Shell.Current.BindingContext as MySimListViewModel;

                    //mySimListVM.RefreshCommand.Execute(null);
                    //await Navigation.PopAsync(false);
                    await mySimListVM.LoadOnRefreshCommandAsync();

                    var added = mySimListVM.Data[0];

                    SimId = added.Id;

                    gridLoading.IsVisible = false;
                    var actionSheet = await DisplayActionSheet("Lưu thành công. Bạn có muốn đăng bán sim này không?", "Để sau", null, "Đăng bán");

                    if (actionSheet == "Đăng bán")
                    {
                        BtnDangSimClicked(sender, EventArgs.Empty);
                    }
                    else
                    {
                        await Shell.Current.Navigation.PopAsync();

                        await Shell.Current.Navigation.PushAsync(new PostSim(SimId), false);

                        XFToast.ShortMessage("Lưu thành công !");
                    }
                }
                else
                {
                    gridLoading.IsVisible = false;
                    XFToast.ShortMessage("Lưu thành công !");
                }
            }
            else
            {
                await DisplayAlert("", response.Message, "Đóng");

                gridLoading.IsVisible = false;
            }
        }