示例#1
0
        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));
            }
        }
示例#2
0
        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));
            }
        }