Example #1
0
        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);