コード例 #1
0
        public bool addInsurance(InsuranceDTO insuranceDTO)
        {
            Insurance insurance = new Insurance
            {
                Name           = insuranceDTO.Name,
                Description    = insuranceDTO.Description,
                Coverage       = insuranceDTO.Coverage,
                CoverageMonths = insuranceDTO.CoverageMonths,
                InitDate       = insuranceDTO.InitDate,
                Price          = insuranceDTO.Price,
                ClientId       = insuranceDTO.ClientId,
                RiskTypeId     = insuranceDTO.RiskId
            };

            _insuranceRepository.Add(insurance);

            _unitOfWork.Save();

            foreach (var insuranceType in insuranceDTO.insuranceTypeDTOs)
            {
                Insurance_InsuranceType insurance_InsuranceType = new Insurance_InsuranceType
                {
                    InsuranceId     = insurance.Id,
                    InsuranceTypeId = insuranceType.Id
                };

                _insurance_InsuranceTypeRepository.Add(insurance_InsuranceType);
            }

            _unitOfWork.Save();

            return(true);
        }
コード例 #2
0
        public async Task <IActionResult> CreateInsurance([FromBody] InsuranceForCreationDto InsuranceForCreationDTO)
        {
            var insurance = _mapper.Map <Insurance>(InsuranceForCreationDTO);

            _repo.Add(insurance);
            if (await _repo.SaveAll())
            {
                return(Ok(insurance));
            }
            return(BadRequest());
        }
コード例 #3
0
        public IHttpActionResult PostInsurance(Insurance insurance)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Add(insurance);

            return(CreatedAtRoute("DefaultApi", new { id = insurance.Id }, insurance));
        }
コード例 #4
0
        public ActionResult <CarInsuranceCreationViewModel> Post([FromBody] RegisterCarInsuranceViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var id = Guid.NewGuid().ToString();

            var customer = customerRepository.GetSingle(c => c.CustomerNumber == model.CustomerNumber);

            if (customer == null)
            {
                return(NotFound());
            }

            var valid   = CheckValidity(model.DateActive);
            var premium = CalculatePremium();


            var insurance = new CarInsurance
            {
                // Customer = customer,
                CustomerId      = customer.Id,
                DateOfPurchase  = DateTime.Now,
                Id              = id,
                IsActive        = valid,
                Premium         = premium,
                InsuranceNumber = new Random().Next(0, 100).ToString(),

                DateActive         = DateTime.Now,
                RegistrationNumber = model.RegistrationNumber
            };

            insuranceRepository.Add(insurance);
            insuranceRepository.Commit();

            var thing = new CarInsuranceCreationViewModel
            {
                InsuranceId = id
            };

            return(Ok(thing));
        }
コード例 #5
0
        public async Task <IActionResult> AddInsurance(int userId, [FromBody] InsuranceDTO insuranceDTO)
        {
            try
            {
                Insurance insurance = _mapper.Map <Insurance>(insuranceDTO);
                if (!Validate(insurance))
                {
                    return(BadRequest("La covertura no puede ser superior al 50% en caso de riesgo alto"));
                }
                var results = await _insuranceRepo.Add(insurance, userId);

                if (results == false)
                {
                    return(BadRequest(false));
                }
                return(Ok(true));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }