public List <RealEstateViewModel> CustomerExpireList() { var results = new List <RealEstateViewModel>(); var source = _context.RealEstate .Include(r => r.RealEstateDetail) .Include(r => r.ReaEstateType) .Include(r => r.Agent) .Include(r => r.Map) .Where(r => r.IsActive && r.ExprireTime < DateTime.Now) .OrderByDescending(r => r.PostTime) .ToList(); foreach (var item in source) { var viewModelItem = new RealEstateViewModel { Id = item.Id, Street = item.Map.Address, Price = Helper.VNCurrencyFormat(item.RealEstateDetail.Price.ToString()), Agent = item.Agent.AgentName, PostDate = item.PostTime.ToString("dd/MM/yyyy"), BeginTime = item.BeginTime.ToString("dd/MM/yyyy"), ExpireTime = item.ExprireTime == null ? string.Empty : item.ExprireTime.Value.ToString("dd/MM/yyyy"), Type = item.ReaEstateType.RealEstateTypeName, Status = Helper.GetStatus(item) }; results.Add(viewModelItem); } return(results); }
public IActionResult Edit(RealEstateViewModel viewModel) { var validation = ValidateData(viewModel); if (!string.IsNullOrWhiteSpace(validation)) { TempData["Error"] = validation; return(View("RealEstateForm", viewModel)); } var realEstate = FetchRealEstate(viewModel.Id); if (realEstate == null) { TempData["Error"] = "Something went wrong."; return(View("RealEstateForm", viewModel)); } TempData["Success"] = "Sėkmingai atnaujintas NT!"; Update(realEstate, viewModel); var realEstates = FetchUserRealEstate(); return(View("RealEstateList", new RealEstateListViewModel() { RealEstates = realEstates })); }
public async Task AddAsync(RealEstateViewModel realEstateViewModel, string userName) { var user = await _userManager.FindByNameAsync(userName); var realEstate = RealEstateMapper.ToModel(realEstateViewModel); realEstate.WhenPublished = DateTime.Now; realEstate.User = user; await _realEstateRepository.AddAsync(realEstate); }
public static RealEstateListViewModel GetRealEstateByUser(string username) { Entities entities = new Entities(); RealEstateListViewModel result = new RealEstateListViewModel(); DateTime current = DateTime.Now; var realEstates = entities.Assets.Include("Incomes").Include("Liabilities").Where(x => x.Username.Equals(username) && x.AssetType == (int)Constants.Constants.ASSET_TYPE.REAL_ESTATE && !x.DisabledDate.HasValue); foreach (var realEstate in realEstates) { RealEstateViewModel realEstateViewModel = new RealEstateViewModel(); realEstateViewModel.Id = realEstate.Id; realEstateViewModel.Name = realEstate.AssetName; realEstateViewModel.Value = realEstate.Value; if (realEstate.Incomes1.Where(x => !x.DisabledDate.HasValue).Any()) { realEstateViewModel.Income = realEstate.Incomes1.FirstOrDefault().Value; } else { realEstateViewModel.Income = 0; } realEstateViewModel.AnnualIncome = realEstateViewModel.Income * 12; realEstateViewModel.RentYield = realEstateViewModel.Value > 0 ? realEstateViewModel.AnnualIncome / realEstateViewModel.Value : 0; foreach (var liability in realEstate.Liabilities.Where(x => !x.DisabledDate.HasValue)) { RealEstateLiabilityViewModel liabilityViewModel = RealEstateLiabilityQueries.CreateViewModel(liability); realEstateViewModel.Liabilities.Add(liabilityViewModel); } var liabilities = realEstateViewModel.Liabilities.Where(x => x.StartDate <= current && x.EndDate >= current); realEstateViewModel.TotalLiabilityValue = liabilities.Select(x => x.Value.Value).DefaultIfEmpty(0).Sum(); realEstateViewModel.TotalOriginalPayment = liabilities.Select(x => x.MonthlyOriginalPayment).DefaultIfEmpty(0).Sum(); realEstateViewModel.TotalInterestPayment = liabilities.Select(x => x.MonthlyInterestPayment).DefaultIfEmpty(0).Sum(); realEstateViewModel.TotalMonthlyPayment = liabilities.Select(x => x.TotalMonthlyPayment).DefaultIfEmpty(0).Sum(); realEstateViewModel.TotalPayment = liabilities.Select(x => x.TotalPayment).DefaultIfEmpty(0).Sum(); realEstateViewModel.TotalRemainedValue = liabilities.Select(x => x.RemainedValue).DefaultIfEmpty(0).Sum(); realEstateViewModel.TotalInterestRate = realEstateViewModel.TotalLiabilityValue > 0 ? liabilities.Select(x => x.OriginalInterestPayment).DefaultIfEmpty(0).Sum() / realEstateViewModel.TotalLiabilityValue * 12 : 0; realEstateViewModel.RowSpan = realEstateViewModel.Liabilities.Any() ? realEstateViewModel.Liabilities.Count() + 3 : 2; result.RealEstates.Add(realEstateViewModel); } result.TotalValue = result.RealEstates.Select(x => x.Value).DefaultIfEmpty(0).Sum(); result.TotalMonthlyIncome = result.RealEstates.Select(x => x.Income).DefaultIfEmpty(0).Sum(); result.TotalAnnualIncome = result.TotalMonthlyIncome * 12; result.TotalRentYield = result.TotalValue > 0 ? result.TotalAnnualIncome / result.TotalValue : 0; result.IsInitialized = UserQueries.IsCompleteInitialized(username); return(result); }
private void Update(DataAccess.Models.RealEstate realEstate, RealEstateViewModel viewModel) { realEstate.Name = viewModel.Name; realEstate.Address = viewModel.Address; realEstate.IsRented = viewModel.IsRented; realEstate.SquareSpace = viewModel.SquareSpace.Value; realEstate.RoomNumber = viewModel.RoomNumber.Value; realEstate.Valuation = viewModel.Valuation.Value; repository.Update(realEstate); repository.SaveChanges(); }
private void Store(RealEstateViewModel viewModel) { var realEstate = new DataAccess.Models.RealEstate { Name = viewModel.Name, Address = viewModel.Address, IsRented = viewModel.IsRented, SquareSpace = viewModel.SquareSpace.Value, RoomNumber = viewModel.RoomNumber.Value, Valuation = viewModel.Valuation.Value, }; repository.Add(realEstate); repository.SaveChanges(); }
public async Task <IActionResult> Add([FromBody] RealEstateViewModel realEstateViewModel) { var user = HttpContext.User; var userName = user.Identity.Name; try { await _realEstateService.AddAsync(realEstateViewModel, userName); } catch (Exception e) { return(BadRequest()); } return(Ok()); }
private string ValidateData(RealEstateViewModel viewModel) { if (string.IsNullOrWhiteSpace(viewModel.Name)) { return("Pavadinimo laukas turi būti užpildytas."); } if (string.IsNullOrWhiteSpace(viewModel.Address)) { return("Adreso laukas turi būti užpildytas."); } if (!viewModel.SquareSpace.HasValue) { return("Plotas yra privalomas"); } if (viewModel.SquareSpace <= 0) { return("Plotas turi būti daugiau už 0."); } if (!viewModel.RoomNumber.HasValue) { return("Kambarių skaičius yra privalomas"); } if (viewModel.RoomNumber <= 0) { return("Kambarių skaičius būti daugiau už 0."); } if (!viewModel.Valuation.HasValue) { return("Vertė yra privaloma"); } if (viewModel.Valuation <= 0) { return("Vertė turi būti daugiau už 0."); } return(string.Empty); }
public static RealEstate ToModel(RealEstateViewModel realEstateViewModel) { var realEstate = new RealEstate { Category = realEstateViewModel.Category, ConstructionYear = realEstateViewModel.ConstructionYear, Description = realEstateViewModel.Description, Floor = realEstateViewModel.Floor, Heating = realEstateViewModel.Heating, IsForRent = realEstateViewModel.IsForRent, IsReadyToMoveIn = realEstateViewModel.IsReadyToMoveIn, Location = realEstateViewModel.Location, Name = realEstateViewModel.Name, NumberOfFloors = realEstateViewModel.NumberOfFloors, NumberOfRooms = realEstateViewModel.NumberOfRooms, Price = realEstateViewModel.Price }; return(realEstate); }
public static RealEstateViewModel ToViewModel(RealEstate realEstate) { var realEstateViewModel = new RealEstateViewModel { Description = realEstate.Description, Category = realEstate.Category, ConstructionYear = realEstate.ConstructionYear, Floor = realEstate.Floor, Heating = realEstate.Heating, IsForRent = realEstate.IsForRent, IsReadyToMoveIn = realEstate.IsReadyToMoveIn, Location = realEstate.Location, Name = realEstate.Name, NumberOfFloors = realEstate.NumberOfFloors, NumberOfRooms = realEstate.NumberOfRooms, Price = realEstate.Price }; return(realEstateViewModel); }
public IActionResult Create(RealEstateViewModel viewModel) { var validation = ValidateData(viewModel); if (!string.IsNullOrWhiteSpace(validation)) { TempData["Error"] = validation; return(View("RealEstateForm", viewModel)); } Store(viewModel); TempData["Success"] = "NT sėkmingai pridėtas!"; var realEstates = FetchUserRealEstate(); return(View("RealEstateList", new RealEstateListViewModel() { RealEstates = realEstates })); }
public static RealEstateWindow CreateRealEstateWindow(Window currentWindowView, RealEstateWindow realEstateView, RealEstateViewModel realEstateVM, MiddleClassModel MiddleModel) { try { // ensure only one view is loaded, and the same one remains open for multiple requests realEstateView = realEstateView ?? new RealEstateWindow(); if (!realEstateView.IsLoaded) { realEstateView.Close(); realEstateView = new RealEstateWindow(); realEstateVM.MiddleModel = MiddleModel; realEstateView.DataContext = realEstateVM; currentWindowView.Close(); } realEstateView.Show(); return(realEstateView); } catch (Exception ex) { MessageBox.Show("Error", ex.Message); //Application.Current.Shutdown(); return(realEstateView); } }
public ActionResult _Confirm() { DateTime current = DateTime.Now; RealEstateCreateViewModel model = (RealEstateCreateViewModel)HttpContext.Session["REAL_ESTATE"]; RealEstateViewModel viewModel = new RealEstateViewModel(); viewModel.Name = model.Name; viewModel.Value = model.Value.Value; viewModel.Income = model.Income.HasValue ? model.Income.Value : 0; viewModel.AnnualIncome = viewModel.Income * 12; viewModel.RentYield = viewModel.AnnualIncome / viewModel.Value; RealEstateLiabilityListCreateViewModel liabilities = (RealEstateLiabilityListCreateViewModel)HttpContext.Session["LIABILITIES"]; viewModel.RowSpan = liabilities != null && liabilities.Liabilities.Count > 0 ? liabilities.Liabilities.Count() + 3 : 2; if (liabilities != null && liabilities.Liabilities.Count > 0) { foreach (var liability in liabilities.Liabilities) { RealEstateLiabilityViewModel liabilityViewModel = new RealEstateLiabilityViewModel(); liabilityViewModel.Source = liability.Source; liabilityViewModel.Value = liability.Value; liabilityViewModel.InterestType = Helper.GetInterestType(liability.InterestType); liabilityViewModel.InterestRatePerX = Helper.GetInterestTypePerX(liability.InterestRatePerX); liabilityViewModel.InterestRate = liability.InterestRate / 100; liabilityViewModel.StartDate = liability.StartDate.Value; liabilityViewModel.EndDate = liability.EndDate.Value; liabilityViewModel.PaymentPeriod = Helper.CalculateTimePeriod(liabilityViewModel.StartDate.Value, liabilityViewModel.EndDate.Value); if (liabilityViewModel.StartDate <= current && current <= liabilityViewModel.EndDate) { int currentPeriod = Helper.CalculateTimePeriod(liabilityViewModel.StartDate.Value, DateTime.Now); double interestRate = liability.InterestRatePerX == (int)Constants.Constants.INTEREST_RATE_PER.MONTH ? liability.InterestRate.Value / 100 : liability.InterestRate.Value / 1200; liabilityViewModel.OriginalInterestPayment = liabilityViewModel.Value.Value * interestRate; //Fixed interest type if (liability.InterestType == (int)Constants.Constants.INTEREST_TYPE.FIXED) { liabilityViewModel.MonthlyOriginalPayment = liabilityViewModel.Value.Value / liabilityViewModel.PaymentPeriod; liabilityViewModel.MonthlyInterestPayment = liabilityViewModel.Value.Value * interestRate; liabilityViewModel.TotalMonthlyPayment = liabilityViewModel.MonthlyOriginalPayment + liabilityViewModel.MonthlyInterestPayment; liabilityViewModel.TotalPayment = RealEstateLiabilityQueries.Helper.CalculateAnnualPayment(liability); liabilityViewModel.RemainedValue = liabilityViewModel.Value.Value - liabilityViewModel.MonthlyOriginalPayment * (currentPeriod + 1); liabilityViewModel.Status = "Đang nợ"; liabilityViewModel.StatusCode = "label-success"; } //Reduced interest type else { liabilityViewModel.MonthlyOriginalPayment = liabilityViewModel.Value.Value / liabilityViewModel.PaymentPeriod; liabilityViewModel.RemainedValue = liabilityViewModel.Value.Value - liabilityViewModel.MonthlyOriginalPayment * (currentPeriod + 1); liabilityViewModel.MonthlyInterestPayment = (liabilityViewModel.Value.Value - liabilityViewModel.MonthlyOriginalPayment * currentPeriod) * interestRate; liabilityViewModel.TotalMonthlyPayment = liabilityViewModel.MonthlyOriginalPayment + liabilityViewModel.MonthlyInterestPayment; liabilityViewModel.TotalPayment = RealEstateLiabilityQueries.Helper.CalculateAnnualPayment(liability); liabilityViewModel.Status = "Đang nợ"; liabilityViewModel.StatusCode = "label-success"; } } else { liabilityViewModel.MonthlyOriginalPayment = 0; liabilityViewModel.MonthlyInterestPayment = 0; liabilityViewModel.TotalMonthlyPayment = 0; liabilityViewModel.TotalPayment = 0; liabilityViewModel.RemainedValue = 0; } viewModel.Liabilities.Add(liabilityViewModel); } var liabilitites = viewModel.Liabilities.Where(x => x.StartDate <= current && x.EndDate >= current); viewModel.TotalLiabilityValue = liabilitites.Select(x => x.Value.Value).DefaultIfEmpty(0).Sum(); viewModel.TotalOriginalPayment = liabilitites.Select(x => x.MonthlyOriginalPayment).DefaultIfEmpty(0).Sum(); viewModel.TotalInterestPayment = liabilitites.Select(x => x.MonthlyInterestPayment).DefaultIfEmpty(0).Sum(); viewModel.TotalMonthlyPayment = liabilitites.Select(x => x.TotalMonthlyPayment).DefaultIfEmpty(0).Sum(); viewModel.TotalPayment = liabilitites.Select(x => x.TotalPayment).DefaultIfEmpty(0).Sum(); viewModel.TotalRemainedValue = liabilitites.Select(x => x.RemainedValue).DefaultIfEmpty(0).Sum(); viewModel.TotalInterestRate = viewModel.TotalLiabilityValue > 0 ? liabilitites.Select(x => x.OriginalInterestPayment).DefaultIfEmpty(0).Sum() / viewModel.TotalLiabilityValue * 12 : 0; } return(PartialView(viewModel)); }
private void Application_Startup(object sender, StartupEventArgs e) { try { AccountViewModel accountVM = new AccountViewModel(); MainViewModel mainVM = new MainViewModel(); ContractViewModel contractVM = new ContractViewModel(); ClientViewModel clientVM = new ClientViewModel(); RealEstateViewModel realEstateVM = new RealEstateViewModel(); EmployeeViewModel employeeVM = new EmployeeViewModel(); MainWindow mainView = null; AccountWindow accountView = null; ContractWindow contractView = null; ClientWindow clientView = null; RealEstateWindow realEstateView = null; EmployeeWindow employeeView = null; // open the Users screen mainVM.ShowContractScreenAction += () => { contractView = NavigationWindows.CreateContractWindow(mainView, contractView, contractVM, mainVM.MiddleModel); }; mainVM.ShowClientScreenAction += () => { clientView = NavigationWindows.CreateUserWindow(mainView, clientView, clientVM, mainVM.MiddleModel); }; mainVM.ShowRealEstateScreenAction += () => { realEstateView = NavigationWindows.CreateRealEstateWindow(mainView, realEstateView, realEstateVM, mainVM.MiddleModel); }; mainVM.ShowWorkerScreenAction += () => { employeeView = NavigationWindows.CreateEmployeeWindow(mainView, employeeView, employeeVM, mainVM.MiddleModel); }; accountVM.ShowMainScreenAction += () => { mainView = NavigationWindows.CreateMainWindow(accountView, mainView, mainVM, accountVM.MiddleModel); }; clientVM.ShowContractScreenAction += () => { contractView = NavigationWindows.CreateContractWindow(clientView, contractView, contractVM, clientVM.MiddleModel); }; clientVM.ShowMainScreenAction += () => { mainView = NavigationWindows.CreateMainWindow(clientView, mainView, mainVM, clientVM.MiddleModel); }; realEstateVM.ShowContractScreenAction += () => { contractView = NavigationWindows.CreateContractWindow(realEstateView, contractView, contractVM, realEstateVM.MiddleModel); }; realEstateVM.ShowMainScreenAction += () => { mainView = NavigationWindows.CreateMainWindow(realEstateView, mainView, mainVM, realEstateVM.MiddleModel); }; contractVM.ShowMainScreenAction += () => { mainView = NavigationWindows.CreateMainWindow(contractView, mainView, mainVM, contractVM.MiddleModel); }; contractVM.ShowUserScreenAction += () => { clientView = NavigationWindows.CreateUserWindow(contractView, clientView, clientVM, contractVM.MiddleModel); }; contractVM.ShowRealEstateScreenAction += () => { realEstateView = NavigationWindows.CreateRealEstateWindow(contractView, realEstateView, realEstateVM, contractVM.MiddleModel); }; employeeVM.ShowMainScreenAction += () => { mainView = NavigationWindows.CreateMainWindow(employeeView, mainView, mainVM, employeeVM.MiddleModel); }; employeeVM.ShowContractScreenAction += () => { contractView = NavigationWindows.CreateContractWindow(employeeView, contractView, contractVM, employeeVM.MiddleModel); }; //mainView = new MainWindow(); //mainView.DataContext = mainVM; //mainView.Show(); accountView = new AccountWindow(); accountView.DataContext = accountVM; accountView.Show(); } catch (Exception ex) { MessageBox.Show("Error", ex.Message); Application.Current.Shutdown(); } }