public async Task <IActionResult> Estate(string s, int id) { ViewBag.States = new SelectList(await _estateRepository.GetAllStatesAsync(), "StateName", "StateName"); if (s != null) { ViewBag.deleted = "Yes"; } ViewBag.PageName = "Estate"; if (await _estateRepository.Count() > 4) { var estateList = await _estateRepository.GetAll(); //var firstEstates = estateList.OrderByDescending(c => c.DateCreated).Take(4); var firstEstates = estateList.Take(4); foreach (var estate in firstEstates) { await _estateRepository.GetCountOfCustomersOfAnEstate(estate.EstateId); } ViewBag.fiveEstates = firstEstates; ViewBag.Estates = estateList; } var estates = await _estateRepository.GetAll(); if (id != 0) { var estateToEdit = await _estateRepository.GetByIdAsync(id); var vm = new EstateVM { Estates = estates, Estate = estateToEdit }; ViewBag.showEditEstateModal = "Yes"; return(View(vm)); } ViewBag.Estates = estates; return(View()); }
private async Task <IActionResult> GetViewMappedForEditor(int?id) { if (!id.HasValue) { return(NotFound()); } var estate = await _estateRepository.GetById(id.Value); if (estate.HasValue()) { RefreshCollections(); EstateVM estateVM = new EstateVM() { Id = estate.Id, Area = estate.Area, CadastralPlans = estate.CadastralPlans, Comments = estate.Comments, RealFolio = estate.RealFolio, Owners = new List <PersonItemVM>() }; foreach (var personByEstate in estate.PersonsByEstateCollection) { estateVM.Owners.Add(new PersonItemVM() { Id = personByEstate.Person.Id, DisplayValue = personByEstate.Person.ToString() }); } ViewData["attributeName"] = "Owners"; return(View(estateVM)); } else { return(NotFound()); } }
public async Task <IActionResult> Create([Bind(ATTRIBUTES_TO_BIND)] EstateVM insertDTO) { if (ModelState.IsValid) { if (insertDTO.Owners == null || insertDTO.Owners.Count == 0) { ModelState.AddModelError(string.Empty, "Debe agregar al menos un propietario"); } else { Estate localState = Estate.Create(realFolio: insertDTO.RealFolio, cadastralPlans: insertDTO.CadastralPlans, comments: insertDTO.Comments, alias: insertDTO.Alias, exactAddress: insertDTO.ExactAddress, area: insertDTO.Area, Owners: await _personRepository.GetByIds(insertDTO.Owners.Select(x => x.Id))); return(await ConfirmSaveConcrete(insertDTO, localState)); } } RefreshCollections(); return(View(insertDTO)); }
public async Task <IActionResult> Edit(int id, [Bind(ATTRIBUTES_TO_BIND)] EstateVM updateDTO) => await ConfirmEdit(id, updateDTO);