public IActionResult Create( [Bind("Title,Address,Price,ContactNumber,Acreage,BeginTime,BackupBeginTime,ExprireTime,BackupExpireTime,RoomNumber,Description,HasPrivateWc,HasMezzanine,AllowCook,FreeTime,SecurityCamera,WaterPrice,ElectronicPrice,WifiPrice,RealEstateTypeId,Latitude,Longtitude,IsFreeWater,IsFreeElectronic,IsFreeWifi,Files")] VM_RealEstateDetails details) { int uploadedFilesCount = 0; var realEstateTypeList = _realEstateServices.GetRealEstateTypeList(); ViewData["RealEstateTypeId"] = new SelectList(realEstateTypeList, "Id", "RealEstateTypeName", details.RealEstateTypeId); if (ModelState.IsValid) { var userId = User.Claims.FirstOrDefault(c => c.Type == "UserId").Value ?? string.Empty; if (userId != string.Empty) { var realEstateId = _realEstateServices.AddCompleteRealEstate(details, Convert.ToInt32(userId)); //tao real estate thanh cong if (realEstateId != -1) { if (details.Files != null && details.Files.Count > 0) { uploadedFilesCount = _fileServices.AddPicture(realEstateId, details.Files); } //use tempdate pass message to index controller TempData["Message"] = string.Format("Thêm phòng trọ thành công, uploaded {0} hình ảnh", uploadedFilesCount); TempData["MesageType"] = 1; return(RedirectToAction(nameof(ClientRealEstateList))); } else { ViewBag.ErrorMessage = "Có lỗi xảy ra, vui lòng thử lại"; return(View(details)); } } else { ViewBag.ErrorMessage = "User id không hợp lệ"; return(View(details)); } } else { ViewBag.ErrorMessage = "Có lỗi xảy ra, vui lòng thử lại"; return(View(details)); } }
public IActionResult Edit(int id, [Bind("Id,Title,Address,Price,Acreage,BeginTime,ExprireTime,RoomNumber,Description,HasPrivateWc,HasMezzanine,AllowCook,FreeTime,SecurityCamera,WaterPrice,ElectronicPrice,WifiPrice,RealEstateTypeId,ContactNumber,Files")] VM_RealEstateDetails details) { int uploadedFilesCount = 0; if (id != details.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var isUpdateSuccess = _realEstateServices.UpdateRealEstate(details); if (isUpdateSuccess) { if (details.Files != null && details.Files.Count > 0) { uploadedFilesCount = _fileServices.AddPicture(details.Id, details.Files); TempData["Message"] = string.Format("Uploaded {0} hình ảnh", uploadedFilesCount); TempData["MesageType"] = 1; } return(RedirectToAction(nameof(ClientRealEstateList))); } else { return(View(details)); } } catch (DbUpdateConcurrencyException) { if (!_realEstateServices.IsExistRealEstate(details.Id)) { return(NotFound()); } else { throw; } } } return(View(details)); }
public bool UpdateRealEstate(VM_RealEstateDetails details) { var rt = _context.RealEstate.Find(details.Id); if (rt != null) { var rt_detail = _context.RealEstateDetail.FirstOrDefault(d => d.RealEstateId == rt.Id); if (rt_detail != null) { //it's update time rt.LastUpdate = DateTime.Now; rt.BeginTime = DateTime.Parse(details.BeginTime); rt.ExprireTime = DateTime.Parse(details.ExprireTime); rt.ContactNumber = details.ContactNumber; rt_detail.Title = details.Title; rt_detail.Price = details.Price; rt_detail.Acreage = details.Acreage; rt_detail.RoomNumber = details.RoomNumber; rt_detail.Description = details.Description; rt_detail.HasPrivateWc = details.HasPrivateWc; rt_detail.HasMezzanine = details.HasMezzanine; rt_detail.AllowCook = details.AllowCook; rt_detail.FreeTime = details.FreeTime; rt_detail.SecurityCamera = details.SecurityCamera; rt_detail.WaterPrice = Convert.ToInt32(details.WaterPrice); rt_detail.ElectronicPrice = Convert.ToInt32(details.ElectronicPrice); rt_detail.WifiPrice = details.WifiPrice; _context.SaveChanges(); return(true); } else { return(false); } } else { return(false); } }
public async Task <VM_RealEstateDetails> GetRealEstateDetails(int?id) { var info = await _context.RealEstate.Where(r => r.Id == id) .Include(r => r.RealEstateDetail) .Include(r => r.ReaEstateType) .Include(r => r.Map) .Include(r => r.Agent) .SingleOrDefaultAsync(); if (info != null) { if (info.Map == null) { info.Map = new Map(); } VM_RealEstateDetails result = Helper.MappingFromRealEstate(info); return(result); } return(null); }
public static VM_RealEstateDetails MappingFromRealEstate(RealEstate info) { var result = new VM_RealEstateDetails() { Id = info.Id, Title = info.RealEstateDetail.Title ?? string.Empty, Address = info.Map.Address ?? string.Empty, Price = info.RealEstateDetail.Price, Acreage = info.RealEstateDetail.Acreage, ContactNumber = info.ContactNumber, PostTime = info.PostTime.ToString("dd/MM/yyyy"), LastUpdate = info.LastUpdate?.ToString("dd/MM/yyyy"), BeginTime = info.BeginTime.ToString("dd/MM/yyyy"), ExprireTime = info.ExprireTime?.ToString("dd/MM/yyyy"), RoomNumber = info.RealEstateDetail.RoomNumber, Description = info.RealEstateDetail.Description, AgentId = info.Agent.Id, AgentName = info.Agent.AgentName, HasPrivateWc = info.RealEstateDetail.HasPrivateWc, HasMezzanine = info.RealEstateDetail.HasMezzanine, AllowCook = info.RealEstateDetail.AllowCook, FreeTime = info.RealEstateDetail.FreeTime, SecurityCamera = info.RealEstateDetail.SecurityCamera, WaterPrice = info.RealEstateDetail.WaterPrice ?? 0, ElectronicPrice = info.RealEstateDetail.ElectronicPrice ?? 0, WifiPrice = info.RealEstateDetail.WifiPrice ?? 0, Latitude = info.Map.Latitude ?? Constants.DEFAULT_LATITUDE, Longtitude = info.Map.Longtitude ?? Constants.DEFAULT_LONGTITUDE, RealEstateTypeId = info.ReaEstateType.Id, IsActive = info.IsActive, IsConfirm = info.IsConfirm, Status = GetStatus(info) }; return(result); }
/// <summary> /// function nay lam cai me gi vay nhi /// </summary> /// <param name="details"></param> /// <param name="agentId"></param> /// <returns></returns> public int AddCompleteRealEstate(VM_RealEstateDetails details, int agentId) { var realEstate = new RealEstate() { PostTime = DateTime.Now, LastUpdate = DateTime.Now, BeginTime = Convert.ToDateTime(details.BeginTime), ExprireTime = Convert.ToDateTime(details.ExprireTime), RealEstateTypeId = details.RealEstateTypeId, AgentId = agentId, ContactNumber = details.ContactNumber, IsActive = false, IsConfirm = agentId == 1, IsAvaiable = true, ConfirmStatus = agentId == 1 ? 1 : 0 }; var realEstateId = AddNewRealEstate(realEstate); //tao real estate thanh cong if (realEstateId != -1) { //add details var rtDetails = new RealEstateDetail() { RealEstateId = realEstateId, Title = details.Title, Price = details.Price, Acreage = details.Acreage, RoomNumber = details.RoomNumber, Description = details.Description, HasPrivateWc = details.HasPrivateWc, HasMezzanine = details.HasMezzanine, AllowCook = details.AllowCook, FreeTime = details.FreeTime, SecurityCamera = details.SecurityCamera, WaterPrice = details.IsFreeWater ? 0 : Convert.ToInt32(details.WaterPrice), ElectronicPrice = details.IsFreeElectronic ? 0 : Convert.ToInt32(details.ElectronicPrice), WifiPrice = details.IsFreeWifi ? 0 : details.WifiPrice }; var isSuccessAddDetails = AddRealEstateDetails(rtDetails); //add map var map = new Map() { Address = details.Address, Latitude = details.Latitude, Longtitude = details.Longtitude, RealEstateId = realEstateId }; var isSuccessAddMap = AddMapForRealEstate(map); //neu add thong tin chi tiet va map thanh cong thi active if (isSuccessAddDetails && isSuccessAddMap) { ActiveRealEstate(realEstateId); return(realEstateId); } else { return(-1); } } return(realEstateId); }