public ResponseConsultarPersona ValidarPersona(RequestConsultarPersona request) { var response = new ResponseConsultarPersona(); var listaPersona = new List <Persona>(); using (SqlConnection conexion = new SqlConnection(ContextoParaBaseDatos.DecryptedConnectionString("TransmisionesDB"))) { Dictionary <string, object> parametrosIn = new Dictionary <string, object>(); parametrosIn.Add("@CodigoPersona", request.CodigoPersona); parametrosIn.Add("@CodigoTipoDocumento", request.CodigoTipoDocumento); parametrosIn.Add("@NumeroDocumentoPersona", request.NumeroDocumentoPersona); using (SqlCommand cmd = SqlHelper.CreateCommandWithParameters("USP_VALIDAR_PERSONA", conexion, parametrosIn, true)) { using (IDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { Persona Persona = new Persona(); Persona.NumeroDocumentoPersona = dr.GetString(dr.GetOrdinal("NumeroDocumentoPersona")).Trim(); listaPersona.Add(Persona); } SqlHelper.CloseConnection(conexion); } response.ListaPersona = listaPersona; } } return(response); }
public ResponseConsultarPersona ConsultarPersona(RequestConsultarPersona request) { var response = new ResponseConsultarPersona(); var listaPersona = new List <Persona>(); using (SqlConnection conexion = new SqlConnection(ContextoParaBaseDatos.DecryptedConnectionString("TransmisionesDB"))) { Dictionary <string, object> parametrosIn = new Dictionary <string, object>(); Dictionary <string, object> parametrosOut = new Dictionary <string, object>(); int totRegs = 0; int cantRegs = 0; parametrosIn.Add("@CodigoPersona", request.CodigoPersona); parametrosIn.Add("@RazonSocialPersona", request.RazonSocialPersona); parametrosIn.Add("@NumeroDocumentoPersona", request.NumeroDocumentoPersona); parametrosIn.Add("@OrdenCampo", request.OrdenCampo); parametrosIn.Add("@OrdenOrientacion", request.OrdenOrientacion); parametrosIn.Add("@PaginaActual", request.PaginaActual); parametrosIn.Add("@NroRegistrosPorPagina", request.NroRegistrosPorPagina); parametrosOut.Add("@TotalRegistros", totRegs); parametrosOut.Add("@CantidadPaginas", cantRegs); using (SqlCommand cmd = SqlHelper.CreateCommandWithParameters("USP_CONSULTAR_PERSONA", conexion, parametrosIn, true, parametrosOut)) { using (IDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { Persona Persona = new Persona(); Persona.CodigoPersona = dr.GetInt64(dr.GetOrdinal("CodigoPersona")); Persona.RazonSocialPersona = dr.GetString(dr.GetOrdinal("RazonSocialPersona")).Trim(); Persona.NumeroDocumentoPersona = dr.IsDBNull(dr.GetOrdinal("NumeroDocumentoPersona")) ? "" : dr.GetString(dr.GetOrdinal("NumeroDocumentoPersona")).Trim(); Persona.NombreTipoDocumento = dr.GetString(dr.GetOrdinal("NombreTipoDocumento")).Trim(); Persona.NombrePais = dr.GetString(dr.GetOrdinal("NombrePais")).Trim(); Persona.UsuarioCreacion = dr.IsDBNull(dr.GetOrdinal("UsuarioCreacion")) ? "" : dr.GetString(dr.GetOrdinal("UsuarioCreacion")).Trim(); Persona.FechaHoraCreacion = dr.IsDBNull(dr.GetOrdinal("FechaHoraCreacion")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaHoraCreacion")); Persona.UsuarioActualizacion = dr.IsDBNull(dr.GetOrdinal("UsuarioActualizacion")) ? "" : dr.GetString(dr.GetOrdinal("UsuarioActualizacion")).Trim(); Persona.FechaHoraActualizacion = dr.IsDBNull(dr.GetOrdinal("FechaHoraActualizacion")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaHoraActualizacion")); listaPersona.Add(Persona); } SqlHelper.CloseConnection(conexion); } response.ListaPersona = listaPersona; response.TotalRegistros = Int32.Parse(cmd.Parameters["@TotalRegistros"].Value.ToString()); response.CantidadPaginas = Int32.Parse(cmd.Parameters["@CantidadPaginas"].Value.ToString()); } } return(response); }
public RegistraPersonaResponseDTO RegistraPersona(RegistraPersonaRequestDTO request, bool esMasivo = false) { long result = 0; RegistraPersonaResponseDTO response = new RegistraPersonaResponseDTO(); CoreBL coreBL = new CoreBL(); try { var contextoParaBaseDatos = new ContextoParaBaseDatos(ConstantesDB.Transmisiones); var repo = new RepositorioPersona(contextoParaBaseDatos); Mapper.CreateMap <PersonaRolDTO, PersonaRol>(); var requestBE = Helper.MiMapper <RegistraPersonaRequestDTO, RegistraPersona>(request); var request2 = new RequestConsultarPersona(); #region Validacion request2.CodigoPersona = requestBE.CodigoPersona; request2.CodigoTipoDocumento = requestBE.CodigoTipoDocumento; request2.NumeroDocumentoPersona = requestBE.NumeroDocumentoPersona; var Validar = repo.ValidarPersona(request2); if (Validar.ListaPersona.FirstOrDefault() != null) { response.Result.Satisfactorio = false; response.Result.CodigoError = "1"; response.Result.Mensaje = "La persona con dicho Numero de Documento ya se encuentra registrado"; Validar.ListaPersona.ForEach(x => { response.Result.Mensajes.Add(new Result { Mensaje = x.NumeroDocumentoPersona, Satisfactorio = false, CodigoError = "1" }); }); return(response); } #endregion if (request.Accion.Equals(Accion.Insertar.GetDescription())) { requestBE.EstadoRegistro = true; } using (TransactionScope Transaccion = new TransactionScope()) { if (request.Accion.Equals(Accion.Insertar.GetDescription())) { result = requestBE.CodigoPersona = repo.RegistrarPersona(requestBE); } else //APLICA PARA UPDATE Y DELETE { result = repo.ModificarPersona(requestBE); } #region DETALLE if (!result.Equals(0)) { requestBE.ListaPersonaRol.ForEach(x => { x.CodigoPersona = requestBE.CodigoPersona; }); if (repo.RegistrarPersonaRol(requestBE.ListaPersonaRol) && (request.Accion != Accion.Insertar.GetDescription())) { ; } } #endregion Transaccion.Complete(); response.CodigoPersona = requestBE.CodigoPersona; } } catch (Exception ex) { response.Result = new Result { IdError = Guid.NewGuid(), Satisfactorio = false, Mensaje = "Ocurrio un problema interno en el servicio" }; ManejadorExcepciones.PublicarExcepcion(ex, PoliticaExcepcion.LogicaNegocio); } return(response); }