public IActionResult CreateLicencia(int idCuenta, DocumentoConductorDto documentoDto) { try { var tipoDocumento = _tipoDocumentoService.GetAll() .FirstOrDefault(item => item.NombreDocumento.Equals("licencia_frontal", StringComparison.InvariantCultureIgnoreCase)); if (tipoDocumento == null) { throw new Exception("No existe un tipo de documento para LICENCIA DE CONDUCIR."); } var documento = GuardaDocumento(idCuenta, documentoDto, tipoDocumento); return(Created($"{_baseUrl}/api/catalogo/conductor/licencia/{idCuenta}", new { documento.Id })); } catch (DbUpdateException ex) { var error = new ValidationProblemDetails { Title = "Error de creacion de cuenta", Detail = (ex.InnerException as PostgresException).Detail }; return(ValidationProblem(error)); } catch (Exception ex) { var error = new ValidationProblemDetails { Title = "Error de creacion de cuenta", Detail = ex.Message }; return(ValidationProblem(error)); } }
private DocumentoConductorDto GuardaDocumento(int idCuenta, DocumentoConductorDto documentoDto, TipoDocumento tipoDocumento) { var documento = _documentoService.GetByCriteria(DocumentoCriteria.Create().ByTipoAndCuenta(idCuenta, tipoDocumento.Id)); if (documento == null) { documento = new Documento { CuentaUsuarioId = idCuenta, TipoDocumentoId = tipoDocumento.Id, Referencia = documentoDto.Referencia, Vigencia = documentoDto.Vigencia, Imagen = new Imagen { Image = ImageConvertHelper.Base64ToByteArray(documentoDto.Imagen), NombreImagen = documentoDto.Nombre, FechaAlta = DateTime.Now } }; _documentoService.Create(documento); } else { documento.Referencia = documentoDto.Referencia; documento.Vigencia = documentoDto.Vigencia; documento.Imagen.Image = ImageConvertHelper.Base64ToByteArray(documentoDto.Imagen); documento.Imagen.NombreImagen = documentoDto.Nombre; documento.Imagen.UltimaModificacion = DateTime.Now; _documentoService.Update(documento); } return(new DocumentoConductorDto { Id = documento.Id }); }
public IActionResult CreateTarjetaCirculacion(int idVehiculo, DocumentoConductorDto documentoDto) { try { var tipoDocumento = _tipoDocumentoService.GetAll() .FirstOrDefault(item => item.NombreDocumento.Equals("tarjeta_circulacion_frontal", StringComparison.InvariantCultureIgnoreCase)); if (tipoDocumento == null) { throw new Exception("No existe un tipo de documento para TARJETA DE CIRCULACIÓN."); } var documento = GuardaDocumento(idVehiculo, documentoDto, tipoDocumento); return(Created($"api/catalogo/conductor/tarjetacirculacion/{idVehiculo}", new { documento.Id })); } catch (DbUpdateException ex) { var error = new ValidationProblemDetails { Title = "Error de creacion de cuenta", Detail = (ex.InnerException as PostgresException).Detail }; return(ValidationProblem(error)); } catch (Exception ex) { var error = new ValidationProblemDetails { Title = "Error de creacion de cuenta", Detail = ex.Message }; return(ValidationProblem(error)); } }