예제 #1
0
        public async Task <VehiculoResponse> Post([FromBody] VehiculoRequest vehiculoRequest)
        {
            var  response   = new VehiculoResponse();
            bool modelValid = vehiculoRequest.IdVehiculo == 0 && ModelState.IsValid;

            if (!modelValid)
            {
                response.Message = _stringLocalizer["InvalidRequest"];
                return(response);
            }

            int i = await _vehiculoBusiness.AddAsync(vehiculoRequest);

            if (i > 0)
            {
                response.Message = _stringLocalizer["Created"];

                try
                {
                    _emailService.SendEmail("*****@*****.**",
                                            _stringLocalizer["EmailSubjectVehicleRegistered"],
                                            _stringLocalizer["EmailBodyVehicleDateRegistered", DateTime.Now.ToString("g")]).Wait();
                }
                catch (Exception ex)
                {
                    string url = string.Concat(this.Request.Scheme, "://", this.Request.Host, this.Request.Path, this.Request.QueryString);
                    _logger.LogError(ex, $"Falla al intentar enviar correo de confirmación de registro para {vehiculoRequest.Placa} en {url}");
                }
            }
            return(response);
        }
예제 #2
0
        public async Task <VehiculoResponse> Put([FromBody] VehiculoRequest vehiculoRequest)
        {
            var  response   = new VehiculoResponse();
            bool modelValid = vehiculoRequest?.IdVehiculo > 0 && ModelState.IsValid;

            if (!modelValid)
            {
                response.Message = _stringLocalizer["InvalidRequest"];
                return(response);
            }

            int i = await _vehiculoBusiness.UpdateAsync(vehiculoRequest);

            if (i <= 0)
            {
                response.Message = _stringLocalizer["NotFound"];
            }
            else
            {
                response.Message = _stringLocalizer["Updated"];
            }

            return(response);
        }