public ActionResult SavePropertyHomeValue(HomeValueViewModel model) { if (ModelState.IsValid) { var result = Json(new { Success = false }); if (model.IsActive) { var activeValue = db.PropertyHomeValue.FirstOrDefault(x => x.PropertyId == model.PropertyId && (x.IsActive ?? false)); if (activeValue != null) { activeValue.IsActive = false; } } if (model.Id > 0) { var value = db.PropertyHomeValue.FirstOrDefault(x => x.Id == model.Id); if (value == null) { return(Json(new { Success = false })); } value.Value = model.Value; value.HomeValueTypeId = model.TypeId; value.Date = model.Date; value.IsActive = model.IsActive; db.SaveChanges(); result = Json(new { Success = true, IsActive = model.IsActive }); } else { var newValue = new PropertyHomeValue { PropertyId = model.PropertyId, Value = model.Value, HomeValueTypeId = model.TypeId, Date = model.Date, IsActive = model.IsActive }; db.PropertyHomeValue.Add(newValue); db.SaveChanges(); result = Json(new { Success = true, NewId = newValue.Id, IsActive = model.IsActive }); } try { return(result); } catch (Exception ex) { return(Json(new { Success = false })); } } else { return(Json(new { Success = false })); } }
public static PropertyFinance AddPropertyFinance(Login user, FinancialModel model, int PropertyId, decimal TotalRepayment) { using (var db = new KeysEntities()) { try { //var oldFinancial = db.PropertyFinance.Where(x => x.PropertyId == PropertyId).First(); var newFinancial = new PropertyFinance(); var newHomeValues = new PropertyHomeValue(); var totalExpense = db.PropertyExpense.Where(t => t.PropertyId == PropertyId).Select(t => t.Amount).DefaultIfEmpty().Sum(); newFinancial.CurrentHomeValue = model.CurrentHomeValue; newFinancial.PurchasePrice = model.PurchasePrice; newFinancial.Mortgage = model.Mortgage; newFinancial.PropertyId = PropertyId; newFinancial.PurchasePrice = model.PurchasePrice; newFinancial.TotalRepayment = TotalRepayment; newFinancial.TotalExpense = totalExpense; //db.SaveChanges(); db.PropertyFinance.Add(newFinancial); // Add the homeValue to db.PropertyHomeValue with the property id into propertyHomeValue newHomeValues.PropertyId = PropertyId; newHomeValues.Value = model.CurrentHomeValue ?? 0; newHomeValues.Date = DateTime.Today; newHomeValues.HomeValueTypeId = model.HomeValueType; newHomeValues.CreatedBy = user.UserName; newHomeValues.CreatedOn = DateTime.Today; db.PropertyHomeValue.Add(newHomeValues); db.SaveChanges(); return(newFinancial); } catch (Exception ex) { return(null); } } }