public async Task InitUpdate() { labelStatus.IsVisible = true; entryStatus.IsVisible = true; entryNumber.IsEnabled = false; viewModel.IsLoading = false; await viewModel.LoadNumberTypes(); var result = await ApiHelper.Get <Sim>("api/sim/" + SimId); if (result.IsSuccess) { var sim = (Sim)result.Content; Title = sim.DisplayNumber; var model = new AddSimViewModel() { SimNumber = sim.SimNumber, DisplayNumber = sim.DisplayNumber, Price = sim.Price, Carrier = viewModel.CarrierOptions.SingleOrDefault(x => x.Id == sim.CarrierId), Status = sim.Status.Value, StatusFormat = sim.StatusFormat, Description = sim.Description }; if (sim.ImageId.HasValue) { viewModel.SelectedImage = viewModel.Images.SingleOrDefault(x => x.Id == sim.ImageId.Value); } if (sim.Status == 0) // chua ban { BtnDangSim.IsVisible = true; BtnPost.IsVisible = true; AddDeleteToolbar(); } else if (sim.Status == 1) // dang mo ban { BtnCancle.IsVisible = true; } else if (sim.Status == 2) // da ban { } else if (sim.Status == 3) // huy { } else if (sim.Status == 4) { } viewModel.Sim = model; if (sim.SubcribeTypeId.HasValue) { viewModel.Sim.SubcribeType = viewModel.SubcribeTypeOptions.SingleOrDefault(x => x.Id == sim.SubcribeTypeId.Value); } foreach (var item in viewModel.NumberTypeOptions) { if (sim.Sim_NumberTypes.Any(x => x.NumberTypeId == item.Id)) { item.IsSelected = true; } } InitButtonGroup(); BtnCompleteSimType_Clicked(null, null); } MainGrid.IsVisible = true; gridLoading.IsVisible = false; }
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; } }