public async Task <bool> SaveProductAsync() { var product = new RealEstateEstateDto { Estate_TypeId = SelectedListingType?.Id, Town = new RealEstateTownDto { TownId = SelectedTown?.Id }, EstateCode = ProductName, IsHot = IsHot, Account = new RealEstateAccountDto { AccountId = App.AccountInfo.Id }, Area = Area, HouseNumber = HouseNumber, SalePrice = SalePrice, SaleUnit = new RealEstateSaleUnitDto { SaleUnitId = SelectedSaleUnit?.Id }, RentPrice = RentPrice, RentUnit = new RealEstateRentUnitDto { RentUnitId = SelectedRentUnit?.Id }, Lat = SelectedPlace?.Lat, Long = SelectedPlace?.Long, MainPinText = SelectedPlace?.StructuredFormatting?.MainText, Address = SelectedPlace?.Description, Phone = Mobile, OwnerName = OwnerName, Note = Notes }; if (ProductItemViewModel == null) { if (Photos.Any()) { foreach (var item in Photos.Where(x => x.Id == 0)) { var returnId = await ProductService.UploadMedias(item.ImageName, await item.ImageSource.GetStreamFromImageSource()); if (returnId.HasValue) { product.EstateImageIds.Add(returnId.Value); } else { await DialogService.ShowAlertAsync("Can't upload medias to server. Please retry later", "Warning", "Ok"); return(false); } } } return(await ProductService.CreateProduct(product)); } else { product.Id = ProductItemViewModel.Id; return(await ProductService.UpdateProduct(product)); } }
public async Task <bool> UpdateProduct(RealEstateEstateDto product) { var result = await Service.Post <bool, NullServiceObject>(GenerateUrl("UpdateEstate"), product); await HandleResponseShowError(result); return(result?.Response?.Data ?? false); }
public bool CreateEstate(RealEstateEstateDto model) { try { var now = DateTime.Now; var item = new Estate { TownId = model.Town.TownId, EstateCode = model.EstateCode, CreatedDate = now, ModifiedDate = now, LotCode = model.LotCode, HouseNumber = model.HouseNumber, OwnerName = model.OwnerName, SalePrice = model.SalePrice, RentPrice = model.RentPrice, Note = model.Note, IsHot = model.IsHot, AccountId = model.Account.AccountId, SaleUnitId = model.SaleUnit.SaleUnitId, RentUnitId = model.RentUnit.RentUnitId, Area = model.Area, Phone = model.Phone, Lat = model.Lat, Long = model.Long, PinMainText = model.MainPinText, Address = model.Address, Estates_TypeId = model.Estate_TypeId, IsDelete = false, }; _realEstateEntities.Estates.Add(item); _realEstateEntities.SaveChanges(); if (model.EstateImageIds.Any()) { foreach (var imageId in model.EstateImageIds) { var estateImage = _realEstateEntities.EstateMedias.FirstOrDefault(x => x.Id == imageId); if (estateImage != null) { estateImage.EstateId = item.Id; } } _realEstateEntities.SaveChanges(); } var EstateCode = item.EstateCode; Task.Run(async() => { await NotificationSender.Instance.Send($"Notification ", $" {EstateCode} was created"); }); return(true); } catch (System.Exception ex) { return(false); } }
public async Task <IHttpActionResult> CreateEstate(RealEstateEstateDto arguments) { bool update = _service.CreateEstate(arguments); return(Ok(RealEstateResponse <bool> .Create(update))); }
public bool UpdateEstate(RealEstateEstateDto model) { try { var now = DateTime.Now; var item = _realEstateEntities.Estates.Find(model.Id); if (model.Account.AccountId != item.AccountId || item.IsDelete == true) { return(false); } item.TownId = model.Town.TownId; item.EstateCode = model.EstateCode; item.CreatedDate = now; item.LotCode = model.LotCode; item.HouseNumber = model.HouseNumber; item.OwnerName = model.OwnerName; item.SalePrice = model.SalePrice; item.RentPrice = model.RentPrice; item.Note = model.Note; item.IsHot = model.IsHot; item.AccountId = model.Account.AccountId; item.SaleUnitId = model.SaleUnit.SaleUnitId; item.RentUnitId = model.RentUnit.RentUnitId; item.Area = model.Area; item.Phone = model.Phone; item.IsDelete = false; item.Estates_TypeId = model.Estate_TypeId; bool modelChang = false; if (item.EstateCode != model.EstateCode) { if (modelChang) { model.LogBy = model.LogBy + "Edit Estate Code:" + model.EstateCode.ToString() + " From " + item.EstateCode.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit Estate Code:" + model.EstateCode.ToString() + " From " + item.EstateCode.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } if (item.SalePrice != model.SalePrice) { if (modelChang) { model.LogBy = model.LogBy + "Edit Sale Price:" + model.SalePrice.ToString() + " From " + item.SalePrice.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit Sale Price:" + model.SalePrice.ToString() + " From " + item.SalePrice.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } if (item.RentPrice != model.RentPrice) { if (modelChang) { model.LogBy = model.LogBy + "Edit Rent Price: " + model.RentPrice.ToString() + " From " + item.RentPrice.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit Rent Price: " + model.RentPrice.ToString() + " From " + item.RentPrice.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } if (item.OwnerName != model.OwnerName) { if (modelChang) { model.LogBy = model.LogBy + "Edit Owner Name: " + model.OwnerName.ToString() + " From " + item.OwnerName.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit Owner Name: " + model.OwnerName.ToString() + " From " + item.OwnerName.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } if (item.Phone != model.Phone) { if (modelChang) { model.LogBy = model.LogBy + "Edit Phone: " + model.Phone.ToString() + " From " + item.Phone.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit Phone: " + model.Phone.ToString() + " From " + item.Phone.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } if (item.EstateCode != model.EstateCode) { if (modelChang) { model.LogBy = model.LogBy + "Edit EstateCode: " + model.EstateCode.ToString() + " From " + item.EstateCode.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit EstateCode: " + model.EstateCode.ToString() + " From " + item.EstateCode.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } if (item.LotCode != model.LotCode) { if (modelChang) { model.LogBy = model.LogBy + "Edit Town Id: " + model.LotCode.ToString() + " From " + item.LotCode.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } else { model.LogBy = item.LogBy + "Edit Town Id: " + model.LotCode.ToString() + " From " + item.LotCode.ToString() + " at " + DateTime.Now.ToString() + "</br>"; } modelChang = true; } _realEstateEntities.SaveChanges(); var Town = item.Town.Name; var EstateCode = item.EstateCode; Task.Run(async() => { await NotificationSender.Instance.Send($"Notification ", $" {EstateCode} - {Town} has edited"); }); return(true); } catch (System.Exception ex) { return(false); } }