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 Create(CuentaUsuarioDto cuentaUsuario) { try { if (cuentaUsuario.Usuario == null) { throw new ArgumentException("La información para la cuenta de usuario está incompleta."); } var tiposCuenta = _tipoCuentaService.GetAll(); if (!tiposCuenta.Any(item => item.Nombre.Equals("cliente", StringComparison.InvariantCultureIgnoreCase))) { throw new ArgumentException("No se ha encontrado el tipo de cuenta de cliente."); } if (_usuarioService.GetByCriteria(UsuarioCriteria.Create().ByTelefono(cuentaUsuario.Usuario.Telefono)) != null) { throw new Exception("El número telefónico proporcionado ya se encuentra registrado"); } var cuenta = _mapper.Map <CuentaUsuario>(cuentaUsuario); cuenta.IdTipoCuenta = tiposCuenta.First(item => item.Nombre.Equals("cliente", StringComparison.InvariantCultureIgnoreCase)).Id; var imagen = new Imagen { Image = ImageConvertHelper.Base64ToByteArray(cuentaUsuario.Usuario.Imagen), NombreImagen = cuentaUsuario.Usuario.NombreImagen }; cuenta.Usuario.Imagen = imagen; var result = _cuentaUsuarioService.Create(cuenta); result.Usuario.Cuentas.Clear(); return(Created("", result.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)); } }
public IActionResult Create(UsuarioDto usuario) { Imagen imagenEntity = null; try { imagenEntity = new Imagen { Image = ImageConvertHelper.Base64ToByteArray(usuario.Imagen), NombreImagen = usuario.NombreImagen, FechaAlta = DateTime.Now }; var usuarioEntity = new Usuario { Nombre = usuario.Nombre, ApellidoPaterno = usuario.ApellidoPaterno, ApellidoMaterno = usuario.ApellidoMaterno, IdEntidad = usuario.IdEntidad, IdMunicipio = usuario.IdMunicipio, Telefono = usuario.Telefono, FechaNacimiento = usuario.FechaNacimiento, FechaAlta = DateTime.Now, Imagen = _imagenService.Create(imagenEntity) }; var result = _usuarioService.Create(usuarioEntity); return(Created("", result)); } catch (DbUpdateException ex) { if (imagenEntity != null) { _imagenService.Delete(imagenEntity); } return(StatusCode(500, new { MessageError = (ex.InnerException as PostgresException).Detail })); } catch (Exception ex) { if (imagenEntity != null) { _imagenService.Delete(imagenEntity); } return(StatusCode(500, new { MessageError = StringHelper.GetStringessageException(ex) })); } }