public ActionResult Create(ParcelViewModel parcelViewModel)
        {
            IEnumerable <User>   userList          = _userBusiness.GetAllResidents();
            List <UserViewModel> userViewModelList = UserMapper.ToUserViewModelList(userList);

            parcelViewModel.Users = new SelectList(userViewModelList, "UserID", "Email");
            try
            {
                if (ModelState.IsValid)
                {
                    Parcel        parcel = ParcelMapper.ToParcel(parcelViewModel);
                    Result <bool> result = _parcelBusiness.AddParcel(parcel);
                    if (result.isSuccess)
                    {
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, result.errorMessage);
                        return(View(parcelViewModel));
                    }
                }
                else
                {
                    return(View(parcelViewModel));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("AppError", "Error"));
            }
        }
        public ActionResult Details(int id)
        {
            Parcel          unit          = _parcelBusiness.GetParcelDetails(id);
            ParcelViewModel unitViewModel = ParcelMapper.ToParcelViewModel(unit);

            return(View(unitViewModel));
        }
        public async Task <ActionResult> Post([FromBody] string encodedBase64)
        {
            var result  = ParcelMapper.ToDomainModelList(encodedBase64);
            var parcels = result.Item1;
            var errors  = result.Item2;

            var assignedDepartments = await _parcelHandlingService.Handle(parcels);

            return(Ok(assignedDepartments));
        }
        public ActionResult Edit(int id)
        {
            Parcel          parcel          = _parcelBusiness.GetParcelDetails(id);
            ParcelViewModel parcelViewModel = ParcelMapper.ToParcelViewModel(parcel);

            IEnumerable <User>   userList          = _userBusiness.GetAllResidents();
            List <UserViewModel> userViewModelList = UserMapper.ToUserViewModelList(userList);

            parcelViewModel.Users = new SelectList(userViewModelList, "UserID", "Email");
            return(View(parcelViewModel));
        }
        public ActionResult Index()
        {
            IEnumerable <Parcel> parcelList;

            if (User.IsInRole(UserRole.Admin.ToString()))
            {
                parcelList = _parcelBusiness.GetAllParcels();
            }
            else
            {
                parcelList = _parcelBusiness.GetParcelByUser(User.Identity.Name);
            }

            IEnumerable <ParcelViewModel> residentViewModelList = ParcelMapper.ToParcelViewModelList(parcelList);

            return(View(residentViewModelList));
        }