Beispiel #1
0
        public void Validate()
        {
            var validator = new ContractValidator();

            var validationResult = validator.Validate(this);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(string.Join(";", validationResult.Errors.Select(i => i.ErrorCode)));
            }
        }
        public async Task<bool> CreateContractAsync(DtoContract contract)
        {
            var validator = new ContractValidator(this.policy, this.calculator);
            var result = validator.Validate(contract);
            if (!result.IsValid)
            {
                return false;
            }

            var entity = Mapper.Map<Contract>(contract);
            this.contractRepository.Add(entity);
            await this.contractRepository.SaveChangesAsync();

            return true;
        }
        public dynamic Post([FromRoute] string enrollmentNumber, [FromBody] Form obj)
        {
            Enrollment enrollment = _enrollmentService.List().SingleOrDefault(x => x.ExternalId == enrollmentNumber);

            if (enrollment == null)
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.EnrollmentLinkIsNotValid
                                                        } }));
            }

            if (!enrollment.IsDeadlineValid())
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.OnboardingExpired
                                                        } }));
            }

            Contract contract = _mapper.Map <Contract>(obj);

            if (enrollment.Contract != null)
            {
                enrollment.Contract.Signature  = contract.Signature;
                enrollment.Contract.AcceptedAt = contract.AcceptedAt;

                contract = _contractService.Update(enrollment.Contract);
            }
            else
            {
                contract = _contractService.Add(contract);
            }

            ContractValidator validator = new ContractValidator();
            Hashtable         errors    = FormatErrors(validator.Validate(contract));

            ContractStatus contractStatus = new ContractStatus(validator, contract);

            if (contractStatus.GetStatus() == "valid")
            {
                _enrollmentStepService.Update(enrollmentNumber, "Contracts");
            }

            return(new OkObjectResult(new
            {
                errors,
                data = _mapper.Map <Record>(contract)
            }));
        }