示例#1
0
        /// <summary>
        /// Obtener los datos del empleado mediante el codigo
        /// </summary>
        /// <param name="codigo">Codigo del Empleado</param>
        /// <param name="detalle">Opcion para regresar datos completos del Empleado</param>
        /// <returns></returns>
        public BE.ClsBeTbEmpleado Obtener(string codigo, bool detalle = false)
        {
            BE.ClsBeTbEmpleado beEmpleado = null;
            try
            {
                int idEmpleado = 0;

                beEmpleado = new DA.ClsDaTbEmpleado().Obtener(codigo);

                if (beEmpleado == null)
                {
                    return(beEmpleado);
                }
                else
                {
                    if (detalle)
                    {
                        idEmpleado = beEmpleado.IdEmpleado;
                        beEmpleado = this.Obtener(idEmpleado);
                    }
                }

                return(beEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
        public void Validar(BE.ClsBeTbEmpleado beEmpleado)
        {
            try
            {
                #region Validar Documento de Identidad

                bool existeDocumento = false;
                existeDocumento = new DA.ClsDaTbEmpleado().ValidarDocumento(beEmpleado.TipoDocumento.Codigo,
                                                                            beEmpleado.NumeroDocumento,
                                                                            beEmpleado.IdEmpleado);
                if (existeDocumento == true)
                {
                    throw new Exception("El documento ingresado ya está registrado");
                }

                #endregion

                if (beEmpleado.Codigo.Trim().Length == 0)
                {
                    throw new Exception("No ingreso el codigo");
                }
                if (beEmpleado.Nombres.Trim().Length == 0)
                {
                    throw new Exception("No ingreso los nombres");
                }
                if (beEmpleado.ApellidoPaterno.Trim().Length == 0)
                {
                    throw new Exception("No ingreso el apellido paterno");
                }
                if (beEmpleado.ApellidoMaterno.Trim().Length == 0)
                {
                    throw new Exception("No ingreso el apellido materno");
                }
                if (beEmpleado.Sexo.Codigo.Trim().Length == 0)
                {
                    throw new Exception("No selecciono el sexo");
                }
                if (beEmpleado.TipoDocumento == null)
                {
                    throw new Exception("No selecciono el tipo de documento");
                }
                if (beEmpleado.NumeroDocumento.Trim().Length == 0)
                {
                    throw new Exception("No ingreso el numero de documento");
                }
                if (beEmpleado.PaisNacimiento == null)
                {
                    throw new Exception("No selecciono el pais de nacimiento");
                }
                if (beEmpleado.EstadoCivil == null)
                {
                    throw new Exception("No selecciono el estado civil");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        public BE.ClsBeTbEmpleado Obtener(int idEmpleado)
        {
            BE.ClsBeTbEmpleado beEmpleado = null;
            try
            {
                #region Datos Generales

                beEmpleado = new DA.ClsDaTbEmpleado().Obtener(idEmpleado);

                if (beEmpleado == null)
                {
                    return(beEmpleado);
                }

                #endregion

                #region Datos del Contacto

                var beContacto = new DA.ClsDaTbEmpleadoContacto().Obtener(idEmpleado);
                if (beContacto == null)
                {
                    beEmpleado = null;
                    return(beEmpleado);
                }
                else
                {
                    beEmpleado.Contacto = beContacto;
                }

                var lstBeTelefonos = new DA.ClsDaTbEmpleadoTelefono().Listar(idEmpleado);
                beEmpleado.Telefonos = lstBeTelefonos;

                #endregion

                #region Datos de Recursos Humanos

                var beRecurso = new DA.ClsDaTbEmpleadoRecurso().Obtener(idEmpleado);
                if (beRecurso == null)
                {
                    beEmpleado = null;
                    return(beEmpleado);
                }
                else
                {
                    beEmpleado.Recurso = beRecurso;
                }

                #endregion


                return(beEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#4
0
        public bool ValidarCodigo(BE.ClsBeTbEmpleado beEmpleado)
        {
            bool rpta = false;

            try
            {
                var daEmpleado = new DA.ClsDaTbEmpleado();
                rpta = daEmpleado.ValidarCodigo(beEmpleado.IdEmpleado, beEmpleado.Codigo);
                return(rpta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#5
0
        public bool Insertar(ref BE.ClsBeTbEmpleado beEmpleado)
        {
            try
            {
                this.Validar(beEmpleado);

                var daEmpleado = new DA.ClsDaTbEmpleado();

                int rowsAffected = daEmpleado.Insertar(ref beEmpleado);

                return(rowsAffected > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#6
0
        public bool ValidarDocumento(BE.ClsBeTbEmpleado beEmpleado)
        {
            bool rpta = false;

            try
            {
                if (beEmpleado.TipoDocumento != null)
                {
                    var daEmpleado = new DA.ClsDaTbEmpleado();
                    rpta = daEmpleado.ValidarDocumento(beEmpleado.TipoDocumento.Codigo, beEmpleado.NumeroDocumento, beEmpleado.IdEmpleado);
                }
                return(rpta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#7
0
        public bool Actualizar(BE.ClsBeTbEmpleado beEmpleado)
        {
            try
            {
                this.Validar(beEmpleado);
                if (beEmpleado.IdEmpleado == 0)
                {
                    throw new Exception("No existe el empleado");
                }

                int rowsAffected = new DA.ClsDaTbEmpleado().Actualizar(beEmpleado);

                return(rowsAffected > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#8
0
        public BE.ClsBeTbEmpleado Obtener(int idEmpleado)
        {
            BE.ClsBeTbEmpleado beEmpleado = null;
            try
            {
                string sp = "SpTbEmpleadoGeneralObtener";

                using (SqlConnection cnn = new SqlConnection(ConnectionManager.ConexionLocal))
                {
                    cnn.Open();

                    SqlCommand cmd = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    SqlDataAdapter dad = new SqlDataAdapter(cmd);
                    dad.SelectCommand.Parameters.Add(new SqlParameter("@IDEMPLEADO", idEmpleado));

                    DataTable dt = new DataTable();
                    dad.Fill(dt);

                    if ((dt.Rows.Count == 1))
                    {
                        DataRow dr = dt.Rows[0];

                        beEmpleado = this.Cargar(dr);

                        var oBeUbigeoNacimiento = beEmpleado.UbigeoNacimiento;
                        new Ubigeo().Obtener(ref oBeUbigeoNacimiento);
                        beEmpleado.UbigeoNacimiento = oBeUbigeoNacimiento;
                    }

                    cnn.Close();
                }

                return(beEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#9
0
        public bool Eliminar(BE.ClsBeTbEmpleado beEmpleado)
        {
            int rowsAffected = 0;

            try
            {
                if (beEmpleado.IdEmpleado == 0)
                {
                    throw new Exception("No existe el empleado");
                }

                var daEmpleado = new DA.ClsDaTbEmpleado();

                rowsAffected = daEmpleado.Eliminar(beEmpleado);

                return(rowsAffected > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#10
0
        private void ValidacionesFormulario()
        {
            try
            {
                #region Validaciones del formulario
                TabPage selectedTap = null;

                #region General
                selectedTap = this.TbpGeneral;

                if (this.TxtNombres.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtNombres.Focus();
                    throw new Exception("Ingrese los nombres del candidato");
                }
                else
                {
                    string codEmpleado = this.TxtCodigo.Text.Trim();

                    int idCandidato = this.beCandidatoGeneral.IdCandidato;
                    var beCandidato = new BE.Candidato()
                    {
                        IdCandidato = idCandidato, Codigo = codEmpleado
                    };
                    if (new LN.Candidato().ValidarCodigo(beCandidato))
                    {
                        this.TbcMantenimiento.SelectedTab = selectedTap;
                        this.TxtCodigo.Focus();
                        throw new Exception("El codigo de candidato ya existe");
                    }
                    beCandidato = null;

                    int idEmpleado = 0;
                    var beEmpleado = new BE.ClsBeTbEmpleado()
                    {
                        IdEmpleado = idEmpleado, Codigo = codEmpleado
                    };
                    if (new LN.Empleado().ValidarCodigo(beEmpleado))
                    {
                        this.TbcMantenimiento.SelectedTab = selectedTap;
                        this.TxtCodigo.Focus();
                        throw new Exception("El codigo de empleado ya existe");
                    }
                    beEmpleado = null;
                }

                if (this.TxtApellidoPaterno.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtApellidoPaterno.Focus();
                    throw new Exception("Ingrese el apellido paterno del candidato");
                }

                if (this.TxtApellidoMaterno.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtApellidoMaterno.Focus();
                    throw new Exception("Ingrese el apellido materno del candidato");
                }

                if (int.Parse(this.TxtEdad.Text) < 18)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.DtpFechaNacimiento.Focus();
                    throw new Exception("El candidato debe tener minimo 18 años");
                }

                if (this.CbxSexo.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxSexo.Focus();
                    throw new Exception("Seleccione el sexo del candidato");
                }

                if (this.CbxTipoDocumento.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxTipoDocumento.Focus();
                    throw new Exception("Seleccione el tipo de documento del candidato");
                }

                if (this.TxtNumeroDocumento.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtNumeroDocumento.Focus();
                    throw new Exception("Ingrese el numero de documento del candidato");
                }

                if (this.CbxPaisNacimiento.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxPaisNacimiento.Focus();
                    throw new Exception("Seleccione el pais de nacimiento del candidato");
                }

                if (this.CbxDepartamentoNacimiento.SelectedValue.ToString() == "PER")
                {
                    if (this.CbxDepartamentoNacimiento.SelectedIndex == 0)
                    {
                        this.TbcMantenimiento.SelectedTab = selectedTap;
                        this.CbxDepartamentoNacimiento.Focus();
                        throw new Exception("Seleccione el departamento de nacimiento del candidato");
                    }

                    if (this.CbxProvinciaNacimiento.SelectedIndex == 0)
                    {
                        this.TbcMantenimiento.SelectedTab = selectedTap;
                        this.CbxProvinciaNacimiento.Focus();
                        throw new Exception("Seleccione la provincia de nacimiento del candidato");
                    }
                }

                #endregion

                #region Contacto
                selectedTap = this.TbpConctacto;

                if (this.CbxDepartamento.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxDepartamento.Focus();
                    throw new Exception("Seleccione el departamento de contacto del candidato");
                }

                if (this.CbxProvincia.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxProvincia.Focus();
                    throw new Exception("Seleccione la provincia de contacto del candidato");
                }

                if (this.CbxDistrito.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxDepartamento.Focus();
                    throw new Exception("Seleccione el distrito de contacto del candidato");
                }

                if (this.TxtZona.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtZona.Focus();
                    throw new Exception("Ingrese la zona del candidato");
                }

                if (this.TxtDireccion.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtDireccion.Focus();
                    throw new Exception("Ingrese la direccion del candidato");
                }

                if (this.TxtReferencia.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtReferencia.Focus();
                    throw new Exception("Ingrese la referencia del candidato");
                }

                if (this.TxtEmail.Text.Trim().Length > 0)
                {
                    if (Util.IsValidEmail(this.TxtEmail.Text.Trim()) == false)
                    {
                        this.TbcMantenimiento.SelectedTab = selectedTap;
                        this.TxtEmail.Focus();
                        throw new Exception("Ingrese un correo electronico valido");
                    }
                }

                if (this.CbxTelefono.SelectedIndex == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.CbxTelefono.Focus();
                    throw new Exception("Seleccione el telefono del candidato");
                }

                if (this.TxtTelefono.Text.Trim().Length == 0)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.TxtTelefono.Focus();
                    throw new Exception("Ingrese el número de telefono del candidato");
                }

                #endregion

                #region Contratacion

                selectedTap = this.TbpContratacion;

                if (this.DtpInicioInduccion.Value > this.DtpFinInduccion.Value)
                {
                    this.TbcMantenimiento.SelectedTab = selectedTap;
                    this.DtpInicioInduccion.Focus();
                    throw new Exception("La fecha de inicio es mayor a la fecha final de inducción");
                }

                #endregion

                #endregion
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#11
0
        private BE.ClsBeTbEmpleado Cargar(DataRow dr)
        {
            try
            {
                var beEmpleado = new BE.ClsBeTbEmpleado();

                beEmpleado.IdEmpleado      = dr["IdEmpleado"] == DBNull.Value ? 0 : int.Parse(dr["IdEmpleado"].ToString());
                beEmpleado.Codigo          = dr["Codigo"] == DBNull.Value ? "" : dr["Codigo"].ToString();
                beEmpleado.Nombres         = dr["Nombres"] == DBNull.Value ? "" : dr["Nombres"].ToString();
                beEmpleado.ApellidoPaterno = dr["ApellidoPaterno"] == DBNull.Value ? "" : dr["ApellidoPaterno"].ToString();
                beEmpleado.ApellidoMaterno = dr["ApellidoMaterno"] == DBNull.Value ? "" : dr["ApellidoMaterno"].ToString();
                beEmpleado.FechaNacimiento = dr["FechaNacimiento"] == DBNull.Value ? DateTime.Now.AddYears(-18) : DateTime.Parse(dr["FechaNacimiento"].ToString());
                beEmpleado.NumeroDocumento = dr["NumeroDocumento"] == DBNull.Value ? "" : dr["NumeroDocumento"].ToString();
                beEmpleado.Activo          = dr["Activo"] == DBNull.Value ? false : bool.Parse(dr["Activo"].ToString());
                beEmpleado.IdCandidato     = dr["IdCandidato"] == DBNull.Value ? 0 : int.Parse(dr["IdCandidato"].ToString());

                if (dr["CodNacimiento"] != DBNull.Value)
                {
                    beEmpleado.UbigeoNacimiento = new BE.Ubigeo()
                    {
                        Codigo = dr["CodNacimiento"].ToString()
                    };
                }

                if (dr["CodPais"] != DBNull.Value)
                {
                    beEmpleado.PaisNacimiento = new BE.Pais()
                    {
                        Codigo = dr["CodPais"].ToString(),
                        Nombre = dr["DscPais"].ToString()
                    };
                }

                if (dr["CodSexo"] != DBNull.Value)
                {
                    beEmpleado.Sexo = new BE.Record()
                    {
                        Codigo = dr["CodSexo"].ToString(),
                        Nombre = dr["DscSexo"].ToString()
                    };
                }

                if (dr["CodEstadoCivil"] != DBNull.Value)
                {
                    beEmpleado.EstadoCivil = new BE.Record()
                    {
                        Codigo = dr["CodEstadoCivil"].ToString(),
                        Nombre = dr["DscEstadoCivil"].ToString()
                    };
                }

                if (dr["CodDocumentoIdentidad"] != DBNull.Value)
                {
                    beEmpleado.TipoDocumento = new BE.Record()
                    {
                        Codigo = dr["CodDocumentoIdentidad"].ToString(),
                        Nombre = dr["DscDocumentoIdentidad"].ToString()
                    };
                }

                return(beEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#12
0
        public int Insertar(ref BE.ClsBeTbEmpleado beEmpleado)
        {
            SqlConnection  cnn = null;
            SqlTransaction tns = null;

            try
            {
                int    rowsAffected = 0;
                string sp           = "";

                using (cnn = new SqlConnection(ConnectionManager.ConexionLocal))
                {
                    cnn.Open();
                    tns = cnn.BeginTransaction();

                    SqlCommand cmd = null;

                    //General
                    sp = "SpTbEmpleadoGeneralInsertar";

                    cmd             = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", beEmpleado.IdEmpleado));
                    cmd.Parameters["@IDEMPLEADO"].Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(new SqlParameter("@CODIGO", beEmpleado.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@NOMBRES", beEmpleado.Nombres));
                    cmd.Parameters.Add(new SqlParameter("@APELLIDOPATERNO", beEmpleado.ApellidoPaterno));
                    cmd.Parameters.Add(new SqlParameter("@APELLIDOMATERNO", beEmpleado.ApellidoMaterno));
                    cmd.Parameters.Add(new SqlParameter("@FECHANACIMIENTO", beEmpleado.FechaNacimiento));
                    cmd.Parameters.Add(new SqlParameter("@CODSEXO", beEmpleado.Sexo.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@CODDOCUMENTOIDENTIDAD", beEmpleado.TipoDocumento.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@NUMERODOCUMENTO", beEmpleado.NumeroDocumento));
                    cmd.Parameters.Add(new SqlParameter("@CODPAIS", beEmpleado.PaisNacimiento.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@CODESTADOCIVIL", beEmpleado.EstadoCivil.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@ACTIVO", beEmpleado.Activo));
                    cmd.Parameters.Add(new SqlParameter("@CODNACIMIENTO", beEmpleado.UbigeoNacimiento.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@IDCANDIDATO", beEmpleado.IdCandidato));

                    rowsAffected         += cmd.ExecuteNonQuery();
                    beEmpleado.IdEmpleado = int.Parse(cmd.Parameters["@IDEMPLEADO"].Value.ToString());

                    //Contacto
                    sp = "SpTbEmpleadoContactoInsertar";

                    cmd             = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", beEmpleado.Contacto.IdEmpleado));
                    cmd.Parameters.Add(new SqlParameter("@CODUBIGEO", beEmpleado.Contacto.Ubigeo.Codigo));
                    cmd.Parameters.Add(new SqlParameter("@ZONA", beEmpleado.Contacto.Zona));
                    cmd.Parameters.Add(new SqlParameter("@DIRECCION", beEmpleado.Contacto.Direccion));
                    cmd.Parameters.Add(new SqlParameter("@REFERENCIA", beEmpleado.Contacto.Referencia));
                    cmd.Parameters.Add(new SqlParameter("@EMAIL", beEmpleado.Contacto.Email));

                    rowsAffected += cmd.ExecuteNonQuery();

                    //Telefonos
                    sp = "SpTbEmpleadoTelefonoInsertar";
                    foreach (var telefono in beEmpleado.Telefonos)
                    {
                        cmd             = new SqlCommand(sp, cnn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Transaction = tns;

                        cmd.Parameters.Add(new SqlParameter("@IDEMPLEADOTELEFONO", telefono.IdEmpleadoTelefono));
                        cmd.Parameters["@IDEMPLEADOTELEFONO"].Direction = ParameterDirection.Output;
                        cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", telefono.IdEmpleado));
                        cmd.Parameters.Add(new SqlParameter("@CODTIPOTELEFONO", telefono.CodTipoTelefono));
                        cmd.Parameters.Add(new SqlParameter("@NUMERO", telefono.Numero));

                        rowsAffected += cmd.ExecuteNonQuery();
                        telefono.IdEmpleadoTelefono = Convert.ToInt32(cmd.Parameters["@IDEMPLEADOTELEFONO"].Value.ToString());
                    }

                    //Recurso
                    sp = "SpTbEmpleadoRecursoInsertar";

                    cmd             = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", beEmpleado.Recurso.IdEmpleado));
                    cmd.Parameters.Add(new SqlParameter("@IDAREA", beEmpleado.Recurso.Area.IdArea));
                    cmd.Parameters.Add(new SqlParameter("@IDCARGO", beEmpleado.Recurso.Cargo.IdCargo));
                    cmd.Parameters.Add(new SqlParameter("@IDSALA", beEmpleado.Recurso.Sala.IdSala));
                    cmd.Parameters.Add(new SqlParameter("@FECHAINICIO", beEmpleado.Recurso.FechaInicio));

                    cmd.Parameters.Add(new SqlParameter("@CESADO", beEmpleado.Recurso.Cesado));
                    if (beEmpleado.Recurso.Cesado == true)
                    {
                        cmd.Parameters.Add(new SqlParameter("@FECHACESE", beEmpleado.Recurso.FechaCese));
                    }
                    else
                    {
                        cmd.Parameters.Add(new SqlParameter("@FECHACESE", DBNull.Value));
                    }

                    cmd.Parameters.Add(new SqlParameter("@NUMEROHIJOS", beEmpleado.Recurso.NumeroHijos));
                    cmd.Parameters.Add(new SqlParameter("@IDBANCO", beEmpleado.Recurso.Banco.IdBanco));
                    cmd.Parameters.Add(new SqlParameter("@CUENTABANCO", beEmpleado.Recurso.CuentaBanco));
                    cmd.Parameters.Add(new SqlParameter("@CCI", beEmpleado.Recurso.CCI));
                    cmd.Parameters.Add(new SqlParameter("@ONP", beEmpleado.Recurso.ONP));

                    if (beEmpleado.Recurso.Afp != null)
                    {
                        cmd.Parameters.Add(new SqlParameter("@IDAFP", beEmpleado.Recurso.Afp.IdAfp));
                        cmd.Parameters.Add(new SqlParameter("@CUSPP", beEmpleado.Recurso.CUSPP));
                        cmd.Parameters.Add(new SqlParameter("@CODCOMISION", beEmpleado.Recurso.CodComision));
                    }
                    else
                    {
                        cmd.Parameters.Add(new SqlParameter("@IDAFP", DBNull.Value));
                        cmd.Parameters.Add(new SqlParameter("@CUSPP", DBNull.Value));
                        cmd.Parameters.Add(new SqlParameter("@CODCOMISION", DBNull.Value));
                    }

                    cmd.Parameters.Add(new SqlParameter("@IDBANCOCTS", beEmpleado.Recurso.BancoCTS.IdBanco));
                    cmd.Parameters.Add(new SqlParameter("@CUENTACTS", beEmpleado.Recurso.CuentaCTS));
                    cmd.Parameters.Add(new SqlParameter("@SUELDO", beEmpleado.Recurso.Sueldo));
                    cmd.Parameters.Add(new SqlParameter("@RETENCIONJUDICIALNOMINAL", beEmpleado.Recurso.RetencionJudicialNominal));
                    cmd.Parameters.Add(new SqlParameter("@RETENCIONJUDICIALPORCENTUAL", beEmpleado.Recurso.RetencionJudicialPorcentual));

                    if (beEmpleado.Recurso.FechaUltimaVacacion != null)
                    {
                        cmd.Parameters.Add(new SqlParameter("@FECHAULTIMAVACACION", beEmpleado.Recurso.FechaUltimaVacacion));
                    }
                    else
                    {
                        cmd.Parameters.Add(new SqlParameter("@FECHAULTIMAVACACION", DBNull.Value));
                    }

                    cmd.Parameters.Add(new SqlParameter("@AUTOGENERADO", beEmpleado.Recurso.Autogenerado));

                    rowsAffected += cmd.ExecuteNonQuery();

                    if (tns != null)
                    {
                        tns.Commit();
                    }
                }

                return(rowsAffected);
            }
            catch (Exception ex)
            {
                if (tns != null)
                {
                    tns.Rollback();
                }

                throw ex;
            }
        }
示例#13
0
        /// <summary>
        /// Obtener los datos del empleados sin detalle de Recurso o Contacto
        /// Tampoco obtiene la descripción de los tipos (Pais, Tipo Documento, Estado Civil, etc)
        /// </summary>
        /// <param name="codigo">Codigo de Empleado</param>
        /// <returns></returns>
        public BE.ClsBeTbEmpleado Obtener(string codigo)
        {
            BE.ClsBeTbEmpleado beEmpleado = null;
            SqlConnection      cnn        = null;

            try
            {
                string sp = "SpTbEmpleadoGeneralObtenerCodigo";

                using (cnn = new SqlConnection(ConnectionManager.ConexionLocal))
                {
                    cnn.Open();

                    SqlCommand cmd = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    SqlDataAdapter dad = new SqlDataAdapter(cmd);
                    dad.SelectCommand.Parameters.Add(new SqlParameter("@CODIGO", codigo));

                    DataTable dt = new DataTable();
                    dad.Fill(dt);

                    if ((dt.Rows.Count == 1))
                    {
                        DataRow dr = dt.Rows[0];

                        beEmpleado                  = new BE.ClsBeTbEmpleado();
                        beEmpleado.IdEmpleado       = dr["IdEmpleado"] == DBNull.Value ? 0 : int.Parse(dr["IdEmpleado"].ToString());
                        beEmpleado.Codigo           = dr["Codigo"] == DBNull.Value ? "" : dr["Codigo"].ToString();
                        beEmpleado.Nombres          = dr["Nombres"] == DBNull.Value ? "" : dr["Nombres"].ToString();
                        beEmpleado.ApellidoPaterno  = dr["ApellidoPaterno"] == DBNull.Value ? "" : dr["ApellidoPaterno"].ToString();
                        beEmpleado.ApellidoMaterno  = dr["ApellidoMaterno"] == DBNull.Value ? "" : dr["ApellidoMaterno"].ToString();
                        beEmpleado.FechaNacimiento  = dr["FechaNacimiento"] == DBNull.Value ? DateTime.Now.AddYears(-18) : DateTime.Parse(dr["FechaNacimiento"].ToString());
                        beEmpleado.NumeroDocumento  = dr["NumeroDocumento"] == DBNull.Value ? "" : dr["NumeroDocumento"].ToString();
                        beEmpleado.Activo           = dr["Activo"] == DBNull.Value ? false : bool.Parse(dr["Activo"].ToString());
                        beEmpleado.UbigeoNacimiento = new BE.Ubigeo()
                        {
                            Codigo = dr["CodNacimiento"] == DBNull.Value ? "" : dr["CodNacimiento"].ToString()
                        };
                        beEmpleado.PaisNacimiento = new BE.Pais()
                        {
                            Codigo = dr["CodPais"] == DBNull.Value ? "" : dr["CodPais"].ToString()
                        };
                        beEmpleado.Sexo = new BE.Record()
                        {
                            Codigo = dr["CodSexo"] == DBNull.Value ? "" : dr["CodSexo"].ToString()
                        };
                        beEmpleado.EstadoCivil = new BE.Record()
                        {
                            Codigo = dr["CodEstadoCivil"] == DBNull.Value ? "" : dr["CodEstadoCivil"].ToString()
                        };
                        beEmpleado.TipoDocumento = new BE.Record()
                        {
                            Codigo = dr["CodDocumentoIdentidad"] == DBNull.Value ? "" : dr["CodDocumentoIdentidad"].ToString()
                        };
                    }
                }

                return(beEmpleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (cnn != null)
                {
                    cnn.Close();
                }
            }
        }
示例#14
0
        public int Eliminar(BE.ClsBeTbEmpleado beEmpleado)
        {
            SqlConnection  cnn = null;
            SqlTransaction tns = null;
            SqlCommand     cmd = null;

            try
            {
                int    rowsAffected = 0;
                string sp           = "";

                using (cnn = new SqlConnection(ConnectionManager.ConexionLocal))
                {
                    cnn.Open();

                    tns = cnn.BeginTransaction();

                    //Contacto
                    sp = "SpTbEmpleadoContactoEliminar";

                    cmd             = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", beEmpleado.IdEmpleado));

                    rowsAffected += cmd.ExecuteNonQuery();

                    //Recurso
                    sp = "SpTbEmpleadoRecursoEliminar";

                    cmd             = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", beEmpleado.IdEmpleado));

                    rowsAffected += cmd.ExecuteNonQuery();

                    //Telefonos
                    sp = "SpTbEmpleadoTelefonoEliminar";

                    foreach (var telefono in beEmpleado.Telefonos)
                    {
                        cmd             = new SqlCommand(sp, cnn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Transaction = tns;

                        cmd.Parameters.Add(new SqlParameter("@IDEMPLEADOTELEFONO", telefono.IdEmpleadoTelefono));

                        rowsAffected += cmd.ExecuteNonQuery();
                    }

                    //General
                    sp = "SpTbEmpleadoGeneralEliminar";

                    cmd             = new SqlCommand(sp, cnn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tns;

                    cmd.Parameters.Add(new SqlParameter("@IDEMPLEADO", beEmpleado.IdEmpleado));

                    rowsAffected += cmd.ExecuteNonQuery();

                    if (tns != null)
                    {
                        tns.Commit();
                    }
                }

                return(rowsAffected);
            }
            catch (Exception ex)
            {
                if (tns != null)
                {
                    tns.Rollback();
                }

                throw ex;
            }
        }
示例#15
0
        private BE.UI.EmpleadoCompleto BeToUi(BE.ClsBeTbEmpleado beEmpleado, DateTime fechaConsulta)
        {
            try
            {
                var uiEmpleadoRecurso = new BE.UI.EmpleadoCompleto();

                uiEmpleadoRecurso.Id = beEmpleado.IdEmpleado;
                uiEmpleadoRecurso.DocumentoCodigo = beEmpleado.TipoDocumento.Codigo;
                uiEmpleadoRecurso.DocumentoNombre = beEmpleado.TipoDocumento.Nombre;
                uiEmpleadoRecurso.DocumentoNumero = beEmpleado.NumeroDocumento;
                uiEmpleadoRecurso.Codigo          = beEmpleado.Codigo;
                uiEmpleadoRecurso.Nombres         = beEmpleado.Nombres;
                uiEmpleadoRecurso.Apellidos       = $"{beEmpleado.ApellidoPaterno} {beEmpleado.ApellidoMaterno}";
                uiEmpleadoRecurso.SexoCodigo      = beEmpleado.Sexo.Codigo;
                uiEmpleadoRecurso.SexoNombre      = beEmpleado.Sexo.Nombre;
                uiEmpleadoRecurso.Activo          = beEmpleado.Activo == true ? "Si" : "No";

                uiEmpleadoRecurso.SalaId      = beEmpleado.Recurso.Sala.IdSala;
                uiEmpleadoRecurso.SalaNombre  = beEmpleado.Recurso.Sala.Nombre;
                uiEmpleadoRecurso.CargoId     = beEmpleado.Recurso.Cargo.IdCargo;
                uiEmpleadoRecurso.CargoNombre = beEmpleado.Recurso.Cargo.Nombre;
                uiEmpleadoRecurso.AreaId      = beEmpleado.Recurso.Area.IdArea;
                uiEmpleadoRecurso.AreaNombre  = beEmpleado.Recurso.Area.Nombre;

                uiEmpleadoRecurso.FechaIngreso  = beEmpleado.Recurso.FechaInicio;
                uiEmpleadoRecurso.FechaCese     = beEmpleado.Recurso.FechaCese;
                uiEmpleadoRecurso.FechaVacacion = beEmpleado.Recurso.FechaUltimaVacacion;

                uiEmpleadoRecurso.Sueldo             = beEmpleado.Recurso.Sueldo;
                uiEmpleadoRecurso.AsignacionFamiliar = 0.0;
                if (beEmpleado.Recurso.NumeroHijos > 0)
                {
                    var beSueldoMinimo = new LN.SueldoMinimo().Actual(DateTime.Now);
                    if (beSueldoMinimo != null)
                    {
                        uiEmpleadoRecurso.AsignacionFamiliar =
                            new BE.Parametros(beSueldoMinimo.Monto).AsignacionFamiliar;
                    }
                }

                uiEmpleadoRecurso.BancoId     = beEmpleado.Recurso.Banco.IdBanco;
                uiEmpleadoRecurso.BancoNombre = beEmpleado.Recurso.Banco.Nombre;
                uiEmpleadoRecurso.BancoCuenta = beEmpleado.Recurso.CuentaBanco;
                uiEmpleadoRecurso.BancoCci    = beEmpleado.Recurso.CCI;

                uiEmpleadoRecurso.CtsId     = beEmpleado.Recurso.BancoCTS.IdBanco;
                uiEmpleadoRecurso.CtsNombre = beEmpleado.Recurso.BancoCTS.Nombre;
                uiEmpleadoRecurso.CtsCuenta = beEmpleado.Recurso.CuentaCTS;

                if (beEmpleado.Recurso.RetencionJudicialNominal > 0.0)
                {
                    uiEmpleadoRecurso.RetencionJudicialTipo       = BE.UI.TipoRetencionJudicialEnum.Nominal;
                    uiEmpleadoRecurso.RetencionJudicialNominal    = beEmpleado.Recurso.RetencionJudicialNominal;
                    uiEmpleadoRecurso.RetencionJudicialPorcentual = 0.0; //Calcular
                }
                else
                {
                    uiEmpleadoRecurso.RetencionJudicialTipo       = BE.UI.TipoRetencionJudicialEnum.Porcentual;
                    uiEmpleadoRecurso.RetencionJudicialNominal    = 0.0; //Calcular
                    uiEmpleadoRecurso.RetencionJudicialPorcentual = beEmpleado.Recurso.RetencionJudicialPorcentual;
                }

                if (beEmpleado.Recurso.ONP == true)
                {
                    uiEmpleadoRecurso.PensionTipo = BE.UI.TipoPensionEnum.ONP;

                    var beOnpComision = new LN.OnpComision()
                                        .Obtener(fechaConsulta.Year,
                                                 fechaConsulta.Month);
                    if (beOnpComision != null)
                    {
                        uiEmpleadoRecurso.OnpComisionPorcentaje = beOnpComision.AportePorcentual;
                    }
                    beOnpComision = null;

                    uiEmpleadoRecurso.OnpMonto = (uiEmpleadoRecurso.Sueldo + uiEmpleadoRecurso.AsignacionFamiliar) * (uiEmpleadoRecurso.OnpComisionPorcentaje / 100);
                }
                else
                {
                    uiEmpleadoRecurso.PensionTipo = BE.UI.TipoPensionEnum.AFP;
                    uiEmpleadoRecurso.AfpId       = beEmpleado.Recurso.Afp.IdAfp;
                    uiEmpleadoRecurso.AfpNombre   = beEmpleado.Recurso.Afp.Nombre;
                    uiEmpleadoRecurso.AfpCuspp    = beEmpleado.Recurso.CUSPP;

                    var beTipoComision = new Record().ObtenerComisionAFP(beEmpleado.Recurso.CodComision);
                    uiEmpleadoRecurso.AfpComisionCodigo = beTipoComision.Codigo;
                    uiEmpleadoRecurso.AfpComisionNombre = beTipoComision.Nombre;
                    beTipoComision = null;

                    var beAfpComision = new LN.AfpComision()
                                        .Obtener(beEmpleado.Recurso.Afp.IdAfp,
                                                 fechaConsulta.Year,
                                                 fechaConsulta.Month);
                    if (beAfpComision != null)
                    {
                        double comisiontotal = beAfpComision.PorcentajeFondo + beAfpComision.PorcentajeSeguro;

                        switch (uiEmpleadoRecurso.AfpComisionCodigo)
                        {
                        case "FLUJO":
                            uiEmpleadoRecurso.AfpComisionPorcentaje = comisiontotal + beAfpComision.PorcentajeComisionFlujo;
                            break;

                        case "MIXTA":
                            uiEmpleadoRecurso.AfpComisionPorcentaje = comisiontotal + beAfpComision.PorcentajeComisionMixta;
                            break;

                        case "SALDO":
                            uiEmpleadoRecurso.AfpComisionPorcentaje = comisiontotal + 0.0;
                            break;

                        default:
                            uiEmpleadoRecurso.AfpComisionPorcentaje = 0.0;
                            break;
                        }
                    }
                    beAfpComision = null;

                    uiEmpleadoRecurso.AfpMonto = (uiEmpleadoRecurso.Sueldo + uiEmpleadoRecurso.AsignacionFamiliar) * (uiEmpleadoRecurso.AfpComisionPorcentaje / 100);
                }

                uiEmpleadoRecurso.EsSaludAutogenerado = beEmpleado.Recurso.Autogenerado;

                return(uiEmpleadoRecurso);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }