示例#1
0
        public async Task <IActionResult> Create(CompanyInputViewModel companyModel)
        {
            if (!this.User.IsInRole(GlobalConstants.AdministratorRoleName))
            {
                return(this.Redirect("/Identity/Account/AccessDenied"));
            }

            if (!this.ModelState.IsValid)
            {
                var error = new CompanyError {
                    ErrorMessage = GlobalConstants.CompanyInvalidModelMessage
                };
                return(this.RedirectToAction("Error", "Order", error));
            }

            bool checkIfCompanyExists = await this.company.IfCompanyExistsAsync(companyModel.Name,
                                                                                companyModel.TownName,
                                                                                companyModel.CategoryName);

            if (checkIfCompanyExists)
            {
                var error = new CompanyError {
                    ErrorMessage = GlobalConstants.CompanyExistsMessage
                };
                return(this.RedirectToAction("Error", "Order", error));
            }

            var companyModelDto = CompanyCreateInputHandMapper.Map(companyModel);

            await this.company.CreateCompanyAsync(companyModelDto);

            return(this.Redirect("/Company/All"));
        }
示例#2
0
        public async Task <IActionResult> Update(CompanyUpdateInputViewModel inputViewModel)
        {
            if (!this.User.IsInRole(GlobalConstants.AdministratorRoleName))
            {
                return(this.Redirect("/Identity/Account/AccessDenied"));
            }

            if (!this.ModelState.IsValid)
            {
                var error = new CompanyError {
                    ErrorMessage = GlobalConstants.CompanyInvalidModelMessage
                };
                return(this.RedirectToAction("Error", "Order", error));
            }

            var dtoModel = CompanyUpdateInputHandMapper.Map(inputViewModel);
            var isSame   = await this.company.UpdateCompanyAsync(dtoModel);

            if (!isSame)
            {
                var error = new CompanyError {
                    ErrorMessage = GlobalConstants.CompanySameMessage
                };
                return(this.RedirectToAction("Error", "Order", error));
            }

            return(this.Redirect("/Company/Index"));
        }
示例#3
0
        public async Task <IActionResult> Delete(CompanyDeleteViewModel viewModel)
        {
            if (!this.User.IsInRole(GlobalConstants.AdministratorRoleName))
            {
                return(this.Redirect("/Identity/Account/AccessDenied"));
            }

            if (!this.ModelState.IsValid)
            {
                var error = new CompanyError {
                    ErrorMessage = GlobalConstants.CompanyInvalidModelMessage
                };
                return(this.RedirectToAction("Error", "Order", error));
            }

            await this.company.DeleteAsync(viewModel.CompanyId);

            return(this.Redirect("/Company/Index"));
        }
示例#4
0
 public IActionResult Error(CompanyError companyError)
 {
     return(this.View(companyError));
 }