public void EditApplication(EditApplicationDto dto, string currentUserId)
        {
            UserManager.IsUserInRegularRole(currentUserId);

            var validationResult = _validationManager.ValidateEditApplicationDto(dto);

            if (validationResult.HasErrors)
            {
                throw new BusinessFaultException(validationResult.GetErrors());
            }

            var application = UnitOfWork.Repository <IApplicationRepository>().Get(dto.ApplicationId);

            if (!application.Car.IsBelongToUser(currentUserId))
            {
                throw new BusinessFaultException(BusinessLogicExceptionResources.CarDoesNotBelongToUser);
            }

            if (application.State != ApplicationState.InSearch)
            {
                throw new BusinessFaultException(BusinessLogicExceptionResources.ApplicationIncorrectState);
            }

            application.Description = dto.Description;
            UnitOfWork.SaveChanges();
        }
예제 #2
0
        public object EditApplication(EditApplicationDto editApplicationDto)
        {
            var application = _ctx.Apply.Find(editApplicationDto.Id);
            var result      = new object();

            try
            {
                application.Type1     = editApplicationDto.Type1;
                application.Type2     = editApplicationDto.Type2;
                application.Account   = editApplicationDto.Account;
                application.StartTime = editApplicationDto.StartTime;
                application.EndTime   = editApplicationDto.EndTime;
                application.IsSubmit  = editApplicationDto.IsSubmit;
                _ctx.SaveChanges();
                result = new
                {
                    isSuccess = true,
                    message   = "申请编辑成功!",
                };
            }
            catch
            {
                result = new
                {
                    isSuccess = false,
                    message   = "申请编辑失败!",
                };
            }
            return(result);
        }
        public ValidationResult ValidateEditApplicationDto(EditApplicationDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException(ArgumentExceptionResources.EditApplicationDtoNotFound);
            }
            var validationResult = new ValidationResult("Редактирование заявки");

            var application = _unitOfWork.Repository <IApplicationRepository>().Get(dto.ApplicationId);

            if (application == null)
            {
                validationResult.AddError(ValidationErrorResources.ApplicationNotFound);
            }

            if (string.IsNullOrEmpty(dto.Description))
            {
                validationResult.AddError(ValidationErrorResources.ApplicationDescriptionIsEmpty);
            }

            return(validationResult);
        }
 public object EditApplication(EditApplicationDto editApplicationDto)
 {
     return(_approvalManager.EditApplication(editApplicationDto));
 }
예제 #5
0
 public object EditApplication([FromBody] EditApplicationDto editApplicationDto)
 {
     return(_approvalAppService.EditApplication(editApplicationDto));
 }
 public IHttpActionResult Edit(EditApplicationDto dto)
 {
     return(CallBusinessLogicAction(() => _manager.EditApplication(dto, User.Identity.GetUserId())));
 }