private async void ListView0_ItemTapped(object sender, ItemTappedEventArgs e) { await ModalUpdate.Show(); if (FurnitureUpdate == null) { viewModel.DateNow = DateTime.Now; viewModel.PromotionFromDate = DateTime.Now; viewModel.PromotionToDate = DateTime.Now; } FurnitureUpdate = e.Item as FurnitureProduct; }
public async void OnBtnSavePromotion_Click(object sender, EventArgs e) { if (viewModel.PromotionPrice == null) { await Shell.Current.DisplayAlert(Language.thong_bao, Language.vui_long_nhap_gia_giam, Language.dong); } else { FurnitureProduct product = new FurnitureProduct(); product.Name = FurnitureUpdate.Name; product.ParentCategoryId = FurnitureUpdate.ParentCategoryId; product.CategoryId = FurnitureUpdate.CategoryId; product.CreatedById = Guid.Parse(UserLogged.Id); product.Price = FurnitureUpdate.Price; product.Status = FurnitureUpdate.Status; product.Model = FurnitureUpdate.Model; product.Origin = FurnitureUpdate.Origin; product.Guarantee = FurnitureUpdate.Guarantee; product.Description = FurnitureUpdate.Description; product.Address = FurnitureUpdate.Address; product.Category = FurnitureUpdate.Category; product.Company = FurnitureUpdate.Company; product.CompanyId = FurnitureUpdate.CompanyId; product.AvatarUrl = FurnitureUpdate.AvatarUrl; product.CreatedBy = FurnitureUpdate.CreatedBy; product.DistrictId = FurnitureUpdate.DistrictId; product.Images = FurnitureUpdate.Images; product.Model = FurnitureUpdate.Model; product.ProvinceId = FurnitureUpdate.ProvinceId; product.Street = FurnitureUpdate.Street; product.WardId = FurnitureUpdate.WardId; product.Videos = FurnitureUpdate.Videos; product.ProductStatus = FurnitureUpdate.ProductStatus; product.IsPromotion = true; product.PromotionFromDate = viewModel.PromotionFromDate; product.PromotionToDate = viewModel.PromotionToDate; product.PromotionPrice = viewModel.PromotionPrice; ApiResponse apiResponse = await ApiHelper.Post($"{ApiRouter.FURNITUREPRODUCT_ADD_UPDATE}", product, true); if (apiResponse.IsSuccess) { await ModalUpdate.Hide(); viewModel.PromotionFromDate = DateTime.Now; viewModel.PromotionToDate = DateTime.Now; viewModel.PromotionPrice = null; await viewModel.LoadOnRefreshCommandAsync(); ToastMessageHelper.ShortMessage(Language.dang_thanh_cong); MessagingCenter.Send <PromotionPage>(this, "AddProduct"); await ModalPickProduct.Hide(); } else { ToastMessageHelper.ShortMessage(apiResponse.Message); } } }
private async void Save_Clicked(object sender, EventArgs e) { if (viewModel.ParentCategory == null) { await DisplayAlert("", Language.chon_nhom_danh_muc, Language.dong); return; } if (viewModel.ChildCategory == null) { await DisplayAlert("", Language.chon_danh_muc, Language.dong); return; } if (string.IsNullOrWhiteSpace(viewModel.AddProductModel.Name)) { await DisplayAlert("", Language.nhap_ten_noi_that, Language.dong); return; } if (!viewModel.AddProductModel.Price.HasValue) { await DisplayAlert("", Language.nhap_gia_san_pham, Language.dong); return; } if (viewModel.AddProductModel.IsPromotion == true) { if (viewModel.AddProductModel.PromotionFromDate == null) { await DisplayAlert("", Language.vui_long_chon_thoi_gian, Language.dong); return; } if (viewModel.AddProductModel.PromotionToDate == null) { await DisplayAlert("", Language.vui_long_chon_thoi_gian, Language.dong); return; } if (viewModel.AddProductModel.PromotionPrice == null) { await DisplayAlert("", Language.vui_long_nhap_gia_giam, Language.dong); return; } } if (viewModel.AddProductModel.Province == null) { await DisplayAlert("", Language.vui_long_chon_tinh_thanh, Language.dong); return; } if (viewModel.AddProductModel.District == null) { await DisplayAlert("", Language.vui_long_chon_quan_huyen, Language.dong); return; } if (viewModel.AddProductModel.Ward == null) { await DisplayAlert("", Language.vui_long_chon_phuong_xa, Language.dong); return; } if (viewModel.Media.Count < 1) { await DisplayAlert("", Language.chon_hinh_anh_cho_san_pham, Language.dong); return; } loadingPopup.IsVisible = true; FurnitureProduct product = new FurnitureProduct(); product.Name = viewModel.AddProductModel.Name; product.ParentCategoryId = viewModel.ParentCategory.Id; product.CategoryId = viewModel.ChildCategory.Id; product.CreatedById = Guid.Parse(UserLogged.Id); product.Price = viewModel.AddProductModel.Price; product.Status = viewModel.AddProductModel.Status; product.Model = viewModel.AddProductModel.Model; product.Origin = viewModel.AddProductModel.Origin; product.Guarantee = viewModel.AddProductModel.Guarantee; product.Description = viewModel.AddProductModel.Description; product.CreatedDate = viewModel.AddProductModel.CreatedDate; product.ProductStatus = 0; product.IsPromotion = viewModel.AddProductModel.IsPromotion; if (viewModel.AddProductModel.IsPromotion == true) { product.PromotionFromDate = viewModel.AddProductModel.PromotionFromDate; product.PromotionToDate = viewModel.AddProductModel.PromotionToDate; product.PromotionPrice = viewModel.AddProductModel.PromotionPrice; } if (viewModel.AddProductModel.Province != null) { product.ProvinceId = viewModel.AddProductModel.Province.Id; } if (viewModel.AddProductModel.District != null) { product.DistrictId = viewModel.AddProductModel.District.Id; } if (viewModel.AddProductModel.Ward != null) { product.WardId = viewModel.AddProductModel.Ward.Id; } product.Street = viewModel.AddProductModel.Street; product.Address = viewModel.AddProductModel.Address; string[] imageList = new string[viewModel.Media.Count]; for (int i = 0; i < viewModel.Media.Count; i++) { var item = viewModel.Media[i]; // chua upload. upload roi link = null if (string.IsNullOrEmpty(item.Path) == false) // co link la co chon tu dien thoai. { imageList[i] = $"{Guid.NewGuid().ToString()}.jpg"; var stream = new MemoryStream(File.ReadAllBytes(item.Path)); var content = new StreamContent(stream); content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "files" + i, FileName = imageList[i] }; MultipartFormDataContent form = new MultipartFormDataContent(); form.Add(content); var response = await BsdHttpClient.Instance().PostAsync(ApiRouter.FURNITUREPRODUCT_IMAGE_UPLOAD, form); if (!response.IsSuccessStatusCode) { await DisplayAlert("", Language.khong_the_upload_hinh_anh, Language.dong); loadingPopup.IsVisible = false; return; } } else { imageList[i] = item.PreviewPath.Replace(Configuration.ApiConfig.CloudStorageApiCDN + "/furniture/product/", ""); } } product.AvatarUrl = imageList[0]; product.Images = string.Join(",", imageList); if (chkCompanyAddress.IsChecked && viewModel.Company != null) //sp cty { product.CompanyId = viewModel.Company.Id; } //save ApiResponse apiResponse = null; if (_productId == Guid.Empty)//add { apiResponse = await ApiHelper.Post(ApiRouter.FURNITUREPRODUCT_ADD_UPDATE, product, true); } else//upd { product.Id = _productId; apiResponse = await ApiHelper.Put($"{ApiRouter.FURNITUREPRODUCT_ADD_UPDATE}/update", product, true); } if (apiResponse.IsSuccess) { var responseProduct = JsonConvert.DeserializeObject <FurnitureProduct>(apiResponse.Content.ToString()); product.Id = responseProduct.Id; await Navigation.PopAsync(); if (_productId == Guid.Empty) { MessagingCenter.Send <AddProductPage, bool>(this, "AddProduct", (bool)viewModel.AddProductModel.IsPromotion); ToastMessageHelper.ShortMessage(Language.dang_thanh_cong); } else { MessagingCenter.Send <AddProductPage, FurnitureProduct>(this, "UpdateProduct", product); ToastMessageHelper.ShortMessage(Language.luu_san_pham_thanh_cong); } } else { ToastMessageHelper.ShortMessage($"{Language.loi}, {apiResponse.Message}"); } loadingPopup.IsVisible = false; }