Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }