Ejemplo n.º 1
0
        [HttpPost, Route("register")] //, AmigoTenantClaimsAuthorize(ActionCode = ConstantsSecurity.ActionCode.RentalApplicationCreate)]
        public async Task <ResponseDTO> Register(RentalApplicationRegisterRequest rentalApplication)
        {
            if (ModelState.IsValid)
            {
                var response = await _rentalApplicationApplicationService.RegisterRentalApplicationAsync(rentalApplication);

                return(response);
            }
            return(ModelState.ToResponse());
        }
        public async Task <ResponseDTO> RegisterRentalApplicationAsync(RentalApplicationRegisterRequest request)
        {
            //request.RentalApplicationCode = await GetNextCode(request);
            //request.PeriodId = await GetPeriodByCode(request.RentalApplicationCode.Substring(2, 6));
            //request.RentalApplicationDate = DateTime.Now;
            //var periodCode = string.Format("YYYY", request.ApplicationDate.Value.Year) + string.Format("MM", request.ApplicationDate.Value.Month);
            //request.PeriodId = await GetPeriodByCode(periodCode);

            //TODO: Matodo para agregar informacion a la tabla Obligation, conceptos del tipo obligations
            //var response = await ValidateEntityRegister(request);

            if (true) //response.IsValid)
            {
                var command = _mapper.Map <RentalApplicationRegisterRequest, RentalApplicationRegisterCommand>(request);

                //command.RentalApplicationStatusId = await GetStatusbyCodeAsync(Constants.EntityCode.RentalApplication, Constants.EntityStatus.RentalApplication.Draft);

                var resp = await _bus.SendAsync(command);

                return(ResponseBuilder.Correct(resp, command.RentalApplicationId, ""));
            }

            return(null); // response;
        }