Exemplo n.º 1
0
        public ActionResult TerminarProcesoNuevoEmpleado()//alta
        {
            bool esRecontrato = false;
            var  idUsuario    = SessionHelpers.GetIdUsuario();
            var  empleado     = TempData["empleado"] as Empleado;
            var  contrato     = TempData["contrato"] as Empleado_Contrato;
            var  dBancarios   = TempData["dbancarios"] as DatosBancarios;

            if (empleado == null)
            {
                return(RedirectToAction("Index"));
            }

            esRecontrato = empleado.IdEmpleado > 0;

            //si el empleado.IdEmpleado > 0 actualizara los datos
            //sino creará un nuevo registro
            var IdEmpleado = ctx.CrearEmpleado(empleado, idUsuario);

            if (IdEmpleado > 0)
            {
                contrato.IdEmpleado = IdEmpleado;
                contrato.IdSucursal = empleado.IdSucursal;

                contrato.IsReingreso = esRecontrato;
                //factorfx
                ctx.CrearContrato(contrato, idUsuario);

                if (dBancarios != null)
                {
                    dBancarios.IdEmpleado = IdEmpleado;
                    ctx.NewDatosBancarios(dBancarios, idUsuario);
                }


                var noti = new BLL.Notificaciones();
                if (esRecontrato == false)
                {
                    noti.Alta(IdEmpleado);
                }
                else
                {
                    noti.Recontratacion(IdEmpleado, contrato.FechaAlta);
                }


                // noti.IMSS(contrato);
                //Asignar conceptos Default
                if (empleado != null)
                {
                    if (esRecontrato == false)//sino es reingreso, asigana los conceptos defaults
                    {
                        ConceptosNomina.AsignarConceptosDefaultByEmpleado(empleado.IdSucursal, empleado.IdEmpleado);
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 2
0
        public ActionResult TerminarProcesoNuevoEmpleado()
        {
            var idUsuario = SessionHelpers.GetIdUsuario();
            var empleado  = TempData["empleado"] as Empleado;

            empleado.FechaReg     = DateTime.Now;
            empleado.IdUsuarioReg = idUsuario;

            var contrato = TempData["contrato"] as Empleado_Contrato;

            contrato.FechaReg     = DateTime.Now;
            contrato.IdUsuarioReg = idUsuario;

            var dBancarios = TempData["dbancarios"] as DatosBancarios;

            var IdEmpleado = ctx.CrearEmpleado(empleado, idUsuario);

            if (IdEmpleado > 0)
            {
                contrato.IdEmpleado = IdEmpleado;
                contrato.IdSucursal = empleado.IdSucursal;
                ctx.CrearContrato(contrato);
                if (dBancarios != null)
                {
                    dBancarios.IdEmpleado = IdEmpleado;
                    ctx.NewDatosBancarios(dBancarios);
                }
                var noti = new BLL.Notificaciones();
                noti.Alta(IdEmpleado, idUsuario);
                // noti.IMSS(contrato);
                //Asignar conceptos Default
                if (empleado != null)
                {
                    ConceptosNomina.AsignarConceptosDefaultByEmpleado(empleado.IdSucursal, empleado.IdEmpleado);
                }
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public void UploadRecords(DataTable data, int idSucursal, int idCliente, int idUsuario)
        {
            int       columnas = data.Columns.Count;
            Empleados ctx      = new Empleados();

            DataView dv = data.DefaultView;

            dv.Sort = "Paterno asc";//desc
            DataTable sortedDT = dv.ToTable();

            foreach (DataRow row in sortedDT.Rows)
            {
                if (validateRow(row))
                {
                    //Datos Personales
                    Empleado empleado = new Empleado();
                    empleado.Nombres         = row["Nombres"].ToString();
                    empleado.APaterno        = row["Paterno"].ToString();
                    empleado.AMaterno        = row["Materno"].ToString();
                    empleado.FechaNacimiento = Convert.ToDateTime(row["Fecha de Nacimiento"].ToString());
                    empleado.Sexo            = row["Sexo"].ToString().Equals("Hombre") ? "H" : "M";
                    empleado.RFC             = row["RFC"].ToString().Trim();
                    empleado.CURP            = row["CURP"].ToString().Trim();
                    empleado.NSS             = row["NSS"].ToString();
                    empleado.Nacionalidad    = row["Nacionalidad"].ToString();
                    empleado.Estado          = row["Estado de Origen"].ToString();
                    empleado.Telefono        = row["Teléfono"].ToString();
                    empleado.Celular         = row["Celular"].ToString();
                    empleado.Email           = row["Email"].ToString();
                    //Se guarda la dirección del empleado
                    empleado.Direccion = row["Dirección"].ToString();
                    //si la direccion es null se coloca en la celda de dirección "No proporcionada"
                    if (row["Dirección"] == DBNull.Value)
                    {
                        empleado.Direccion = "Dirección no proporcionada";
                    }
                    else
                    {
                        empleado.Direccion = row["Dirección"].ToString();
                    }
                    empleado.IdSucursal     = idSucursal;
                    empleado.EstadoCivil    = row["Edo Civil"].ToString();
                    empleado.Status         = true;
                    empleado.RFCValidadoSAT = 2;

                    var idEmpleado = ctx.CrearEmpleado(empleado, idUsuario);

                    if (idEmpleado > 0)
                    {
                        //Datos de Contratación
                        Empleado_Contrato contrato = new Empleado_Contrato();
                        contrato.IdEmpleado = idEmpleado;
                        contrato.FechaAlta  = Convert.ToDateTime(row["Fecha Alta"].ToString());
                        contrato.FechaReal  = Convert.ToDateTime(row["Fecha Real"].ToString());
                        if (row["Fecha IMSS"] != DBNull.Value)
                        {
                            contrato.FechaIMSS = Convert.ToDateTime(row["Fecha IMSS"].ToString());
                        }
                        if (row["UMF"] != DBNull.Value)
                        {
                            contrato.UMF = row["UMF"].ToString();
                        }
                        contrato.TipoContrato = row["Tipo Contrato"].ToString().Equals("Temporal") ? 2 : 1;
                        if (contrato.TipoContrato == 2)
                        {
                            contrato.Vigencia     = Convert.ToDateTime(row["Vigencia"].ToString());
                            contrato.DiasContrato = Convert.ToInt32(row["Días Contrato"]);
                        }
                        Puestos ctxPuestos = new Puestos();
                        contrato.IdPuesto           = ctxPuestos.ObtenerPuestoPorDescripcion(row["Puesto"].ToString());
                        contrato.Turno              = UtilsEmpleados.SeleccionarTurno(row["Turno"].ToString());
                        contrato.DiaDescanso        = UtilsEmpleados.selectDay(row["Descanso"].ToString());
                        contrato.IdPeriodicidadPago = UtilsEmpleados.SeleccionarPeriodicidadDePago(row["Periodicidad de pago"].ToString());
                        contrato.FormaPago          = UtilsEmpleados.SeleccionarFormaPago(row["Método Pago"].ToString());
                        contrato.PagoElectronico    = (contrato.FormaPago == 3 || contrato.FormaPago == 4 || contrato.FormaPago == 5 || contrato.FormaPago == 6 || contrato.FormaPago == 7) ? true : false;
                        contrato.SD                = Convert.ToDecimal(row["SD"].ToString());
                        contrato.SDI               = Convert.ToDecimal(row["SDI"].ToString());
                        contrato.SBC               = Convert.ToDecimal(row["SBC"].ToString());
                        contrato.SalarioReal       = Convert.ToDecimal(row["Salario Real"].ToString());
                        contrato.IdTipoJornada     = UtilsEmpleados.SeleccionarTipoNomina(row["Tipo de Jornada"].ToString());
                        contrato.TipoSalario       = UtilsEmpleados.SeleccionarTipoSalario(row["Tipo Salario"].ToString());
                        contrato.EntidadDeServicio = (row["Entidad de Servicio"].ToString());
                        contrato.Sindicalizado     = (row["Sindicalizado"].ToString().ToUpper().Equals("SI")) ? true : false;
                        contrato.Status            = true;
                        contrato.IdSucursal        = idSucursal;



                        Empresas ctxRP              = new Empresas();
                        int      idEmpresaFiscal    = 0;
                        int      idEmpresaAsimilado = 0;

                        if (row["Empresa Fiscal"] != DBNull.Value)
                        {
                            idEmpresaFiscal = ctxRP.GetIdByRazonSocial(row["Empresa Fiscal"].ToString(), idCliente);

                            contrato.IdEmpresaFiscal = idEmpresaFiscal;
                        }

                        if (row["Empresa Complemento"] != DBNull.Value)
                        {
                            contrato.IdEmpresaComplemento = ctxRP.GetIdByRazonSocial(row["Empresa Complemento"].ToString(), idCliente);
                        }

                        if (row["Empresa Sindicato"] != DBNull.Value)
                        {
                            contrato.IdEmpresaSindicato = ctxRP.GetIdByRazonSocial(row["Empresa Sindicato"].ToString(), idCliente);
                        }

                        if (row["Empresa Asimilado"] != DBNull.Value)
                        {
                            idEmpresaAsimilado          = ctxRP.GetIdByRazonSocial(row["Empresa Asimilado"].ToString(), idCliente);
                            contrato.IdEmpresaAsimilado = idEmpresaAsimilado;
                        }

                        //Tipo Regimen
                        contrato.IdTipoRegimen = idEmpresaAsimilado > 0 ? 8 : 1;//Asimilado Honorarios sino Sueldo

                        //Tipo Jornada
                        contrato.IdTipoJornada = 3;

                        //Crea el contrato en la base de datos
                        //factorfx
                        ctx.CrearContrato(contrato, idUsuario);

                        DatosBancarios bancarios = new DatosBancarios();
                        bancarios.IdEmpleado = idEmpleado;
                        Bancos bllBancos = new Bancos();

                        if (row["Banco"].ToString().Trim() != "")
                        {
                            bancarios.IdBanco = bllBancos.ObtenerIdBancoPorDescripcion(row["Banco"].ToString());
                        }

                        int numDatosBancarios = 0;
                        if (row["No Siga Fiscal"] != DBNull.Value)
                        {
                            if (row["No Siga Fiscal"].ToString().Trim() != "")
                            {
                                bancarios.NoSigaF = Convert.ToInt32(row["No Siga Fiscal"]);
                                numDatosBancarios++;
                            }
                        }
                        if (row["No Siga Complemento"] != DBNull.Value)
                        {
                            if (row["No Siga Complemento"].ToString().Trim() != "")
                            {
                                bancarios.NoSigaC = Convert.ToInt32(row["No Siga Complemento"]);
                                numDatosBancarios++;
                            }
                        }


                        if (row["Cuenta Bancaria"] != DBNull.Value)
                        {
                            bancarios.CuentaBancaria = row["Cuenta Bancaria"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["# Tarjeta"] != DBNull.Value)
                        {
                            bancarios.NumeroTarjeta = row["# Tarjeta"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Clabe"] != DBNull.Value)
                        {
                            bancarios.Clabe = row["Clabe"].ToString();
                            numDatosBancarios++;
                        }


                        #region BENEFICIARIOS

                        if (row["Nombre Beneficiario"] != DBNull.Value)
                        {
                            bancarios.NombreBeneficiario = row["Nombre Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["RFC Beneficiario"] != DBNull.Value)
                        {
                            bancarios.RFCBeneficiario = row["RFC Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["CURP Beneficiario"] != DBNull.Value)
                        {
                            bancarios.CURPBeneficiario = row["CURP Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Parentezco Beneficiario"] != DBNull.Value)
                        {
                            bancarios.ParentezcoBeneficiario = row["Parentezco Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Domicilio Beneficiario"] != DBNull.Value)
                        {
                            bancarios.DomicilioBeneficiario = row["Domicilio Beneficiario"].ToString();
                            numDatosBancarios++;
                        }
                        #endregion



                        bancarios.Status = true;

                        if (numDatosBancarios > 0)
                        {
                            ctx.NewDatosBancarios(bancarios, idUsuario, false);
                        }

                        var noti = new Notificaciones();
                        noti.Alta(idEmpleado);

                        //Asignar conceptos Default
                        ConceptosNomina.AsignarConceptosDefaultByEmpleado(idSucursal, idEmpleado);
                    }
                }
            }
        }