Example #1
0
        public static int AgregarEmpDesdeExcel(List <List <string> > ExcelEmp, remuneracionesContext db)
        {
            int Result = 0;

            ExcelEmp.RemoveAt(0);
            List <Tbempleados> EmpleadoToEmpresa = new List <Tbempleados>();


            FichaEmpresa ObjEmpresa = new FichaEmpresa();

            ObjEmpresa.RazonSocial           = "TestEmpresa";
            ObjEmpresa.lstEmpleados          = EmpleadoToEmpresa;
            ObjEmpresa.Comuna                = 1;
            ObjEmpresa.Direccion             = "Barca 2560";
            ObjEmpresa.Principal             = true;
            ObjEmpresa.Rut                   = "13519830-7";
            ObjEmpresa.TipoEmpresa           = 1;
            ObjEmpresa.Giro                  = "Venta de weas";
            ObjEmpresa.RepresentanteLegal    = "PedritoVega";
            ObjEmpresa.RutRepresentanteLegal = "19507432-1";
            ObjEmpresa.Vigente               = true;
            ObjEmpresa.FormaPagoGratif       = 1;
            ObjEmpresa.FormPagoMoviColacion  = 1;

            foreach (List <string> Columna in ExcelEmp)
            {
                string AFPExcel = Columna[23];

                var AFPempleado = db.AfpModel.SingleOrDefault(AFP => AFP.NombreAfp == AFPExcel);

                string Rut          = Columna[0];
                string Nombre       = Columna[1];
                string Apellido     = Columna[2];
                string Nacionalidad = Columna[7];
                int    Telefono     = Convert.ToInt32(Columna[9]);
                string Cargo        = Columna[17]; //La idea es que Cargo sea un int

                decimal SueldoBase   = Convert.ToDecimal(Columna[30]);
                decimal Movilizacion = Convert.ToDecimal(Columna[31]);
                decimal Colacion     = Convert.ToDecimal(Columna[32]);

                CargosModel CargoACrear = new CargosModel()
                {
                    Nombre = Cargo, Detalle = "Sin Detalle"
                };
                db.CargosModel.Add(CargoACrear);
                db.SaveChanges();

                DateTime FechaNacimiento = Utiles.ToDD_MM_AAAA_Multi(Columna[3]);

                SueldoEmpleado ObjSueldo = new SueldoEmpleado
                {
                    SueldoBase        = SueldoBase,
                    AsignMovilizacion = Movilizacion,
                    AsignColacion     = Colacion
                };

                ContratoEmpleado ObjContrato = new ContratoEmpleado
                {
                    Cargo = CargoACrear
                };

                PrevisionEmpleado ObjPrevision = new PrevisionEmpleado();
                if (AFPempleado != null)
                {
                    ObjPrevision.AFP = AFPempleado;
                }

                Tbempleados EmpleadoAInsertar = new Tbempleados
                {
                    Rut             = Rut,
                    Nombre          = Nombre,
                    Apellido        = Apellido,
                    FechaNacimiento = FechaNacimiento,
                    Nacionalidad    = Nacionalidad,
                    Telefono        = Telefono,
                    SueldoEmp       = ObjSueldo,
                    ContratoEmp     = ObjContrato,
                    PrevisionEmp    = ObjPrevision,
                    EmpresaEmpleado = ObjEmpresa
                };

                EmpleadoToEmpresa.Add(EmpleadoAInsertar);
            }

            db.FichaEmpresa.Add(ObjEmpresa);
            db.Tbempleados.AddRange(EmpleadoToEmpresa);
            Result = db.SaveChanges();

            return(Result);
        }
Example #2
0
 private PreCadastro()
 {
     Contratantes   = new List <Contratante>();
     FichaCadastral = new FichaEmpresa();
 }
Example #3
0
        public static bool InsertarEmpleado(FichaEmpleadoRequestModel NuevoEmp, remuneracionesContext db)
        {
            bool Result = false;


            using (var dbContextTransaction = db.Database.BeginTransaction())
            {
                try
                {
                    Tbempleados        InsertEmpleado         = new Tbempleados();
                    SueldoEmpleado     InsertEmpleadoSueldo   = new SueldoEmpleado();
                    ContratoEmpleado   InsertEmpleadoContrato = new ContratoEmpleado();
                    PrevisionEmpleado  InsertEmpleadoPrevi    = new PrevisionEmpleado();
                    List <Tbempleados> LstEmpleados           = new List <Tbempleados>();

                    FichaEmpresa ObjEmpresa = new FichaEmpresa();
                    ObjEmpresa.RazonSocial           = "TestEmpresa";
                    ObjEmpresa.lstEmpleados          = LstEmpleados;
                    ObjEmpresa.Comuna                = 1;
                    ObjEmpresa.Direccion             = "Barca 2560";
                    ObjEmpresa.Principal             = true;
                    ObjEmpresa.Rut                   = "13519830-7";
                    ObjEmpresa.TipoEmpresa           = 1;
                    ObjEmpresa.Giro                  = "Venta";
                    ObjEmpresa.RepresentanteLegal    = "PedritoVega";
                    ObjEmpresa.RutRepresentanteLegal = "19507432-1";
                    ObjEmpresa.Vigente               = true;
                    ObjEmpresa.FormaPagoGratif       = 1;
                    ObjEmpresa.FormPagoMoviColacion  = 1;
                    ObjEmpresa.UsuarioEmpresaId      = 1;

                    InsertEmpleado.EstaDisponible  = Convert.ToBoolean(NuevoEmp.EstaVigente);
                    InsertEmpleado.Nombre          = NuevoEmp.Nombre;
                    InsertEmpleado.Apellido        = NuevoEmp.Apellido;
                    InsertEmpleado.Rut             = NuevoEmp.Rut;
                    InsertEmpleado.Nacionalidad    = NuevoEmp.Nacionalidad;
                    InsertEmpleado.Email           = NuevoEmp.EmailPersonal;
                    InsertEmpleado.Direccion       = NuevoEmp.NumCasa + "  " + NuevoEmp.Departamento + "  " + NuevoEmp.Calle;
                    InsertEmpleado.Sexo            = Convert.ToInt32(NuevoEmp.Sexo);
                    InsertEmpleado.Telefono        = Convert.ToInt32(NuevoEmp.Telefono);
                    InsertEmpleado.FechaNacimiento = Helpers.Utiles.ToDD_MM_AAAA_Multi(NuevoEmp.FechaNacimiento);
                    InsertEmpleado.FechaCreacion   = DateTime.Now;


                    //Contrato
                    InsertEmpleadoContrato.ContratoDesde = Helpers.Utiles.ToDD_MM_AAAA_Multi(NuevoEmp.ContratoDesde);
                    InsertEmpleadoContrato.ContratoHasta = Helpers.Utiles.ToDD_MM_AAAA_Multi(NuevoEmp.ContratoHasta);
                    CargosModel Cargo = new CargosModel();
                    if (NuevoEmp.Cargo != "Selecciona")
                    {
                        Cargo = db.CargosModel.Where(x => x.Id == Convert.ToInt32(NuevoEmp.Cargo)).FirstOrDefault();
                    }
                    InsertEmpleadoContrato.Cargo = Cargo;

                    //Sueldo
                    InsertEmpleadoSueldo.AsignColacion     = Convert.ToDecimal(NuevoEmp.AsignColacion);
                    InsertEmpleadoSueldo.AsignMovilizacion = Convert.ToDecimal(NuevoEmp.AsignMovilizacion);
                    InsertEmpleadoSueldo.SueldoBase        = Convert.ToDecimal(NuevoEmp.SueldoBase);
                    InsertEmpleadoSueldo.CuentaCorriente   = Convert.ToInt32(NuevoEmp.NumCuenta);

                    AfpModel AfpEmpleado = db.AfpModel.SingleOrDefault(x => x.Id == Convert.ToInt32(NuevoEmp.AFPId));

                    //Prevision
                    //ver la posilidad de nulos en las relaciones
                    var isapreObject = new IsapreModel();
                    InsertEmpleadoPrevi.AFPId = AfpEmpleado.Id;
                    if (!string.IsNullOrWhiteSpace(NuevoEmp.IsapreId) && !string.IsNullOrWhiteSpace(NuevoEmp.IsapreTipoMonto))
                    {
                        int TipoMontoPac = Convert.ToInt32(NuevoEmp.IsapreTipoMonto);
                        TipoMontoPactado TipoMontoNuevoEmp = (TipoMontoPactado)TipoMontoPac;
                        InsertEmpleadoPrevi.Tipo               = TipoMontoNuevoEmp;
                        InsertEmpleadoPrevi.IsapreId           = Convert.ToInt32(NuevoEmp.IsapreId);
                        InsertEmpleadoPrevi.MontoPactadoIsapre = Convert.ToDecimal(NuevoEmp.IsapreMonto);
                    }
                    InsertEmpleadoPrevi.Isapre = isapreObject;

                    InsertEmpleado.ContratoEmp  = InsertEmpleadoContrato;
                    InsertEmpleado.SueldoEmp    = InsertEmpleadoSueldo;
                    InsertEmpleado.PrevisionEmp = InsertEmpleadoPrevi;


                    //Registro de haberes y descuentos base.
                    LstEmpleados.Add(InsertEmpleado);

                    db.FichaEmpresa.Add(ObjEmpresa);
                    db.Tbempleados.Add(InsertEmpleado);
                    db.SaveChanges();

                    List <ColeccionHaberes> LsthaberesAregistrar = new List <ColeccionHaberes>()
                    {
                        new ColeccionHaberes()
                        {
                            Nombre = "Sueldo Base", Categoria_id = CategoriaHaberes.IMPONIBLE, ValorCalculo = InsertEmpleadoSueldo.SueldoBase, EmpresaId = ObjEmpresa.Id
                        },
                        new ColeccionHaberes()
                        {
                            Nombre = "Movilizacion", Categoria_id = CategoriaHaberes.NOIMPONIBLE, ValorCalculo = InsertEmpleadoSueldo.AsignMovilizacion, EmpresaId = ObjEmpresa.Id
                        },
                        new ColeccionHaberes()
                        {
                            Nombre = "Colacion", Categoria_id = CategoriaHaberes.NOIMPONIBLE, ValorCalculo = InsertEmpleadoSueldo.AsignColacion, EmpresaId = ObjEmpresa.Id
                        }
                    };
                    //Por Evaluar
                    List <ColeccionDescuentos> LstDescuentosAregistrar = new List <ColeccionDescuentos>()
                    {
                        new ColeccionDescuentos()
                        {
                            Nombre = InsertEmpleadoPrevi.AFP.NombreAfp, ValorCalculo = AfpEmpleado.DependientesTasaAfp, EmpresaId = ObjEmpresa.Id
                        }
                    };

                    db.ColeccionHaberes.AddRange(LsthaberesAregistrar);
                    db.ColeccionDescuentos.AddRange(LstDescuentosAregistrar);
                    db.SaveChanges();


                    var LstHaberesYdescARegistrar = new List <HaberesYDescuentosEmpleado>();
                    foreach (ColeccionHaberes ItemHaber in LsthaberesAregistrar)
                    {
                        var HaberAResgistrar = new HaberesYDescuentosEmpleado()
                        {
                            EmpleadoId        = InsertEmpleado.Id,
                            EmpresaId         = ObjEmpresa.Id,
                            HaberOdescuentoId = ItemHaber.Id,
                            TipoHoD           = TipoHaberODescuento.HABER,
                            Monto             = ItemHaber.ValorCalculo
                        };
                        LstHaberesYdescARegistrar.Add(HaberAResgistrar);
                    }

                    foreach (ColeccionDescuentos ItemDescuento in LstDescuentosAregistrar)
                    {
                        var DescuentoARegistrar = new HaberesYDescuentosEmpleado()
                        {
                            EmpleadoId        = InsertEmpleado.Id,
                            EmpresaId         = ObjEmpresa.Id,
                            HaberOdescuentoId = ItemDescuento.Id,
                            TipoHoD           = TipoHaberODescuento.DESCUENTO,
                            Monto             = Convert.ToDecimal(ItemDescuento.ValorCalculo)
                        };
                        LstHaberesYdescARegistrar.Add(DescuentoARegistrar);
                    }

                    db.HaberesYDescuentosEmpleado.AddRange(LstHaberesYdescARegistrar);
                    db.SaveChanges();

                    dbContextTransaction.Commit();
                    Result = true;
                }
                catch (Exception ex)
                {
                    dbContextTransaction.Rollback();
                }
            }



            return(Result);
        }