コード例 #1
0
        public static bool AsignarHoDEmp(RequestAsignarHoD Request, remuneracionesContext db)
        {
            bool Result = false;

            try
            {
                var LstHyD = new List <HaberesYDescuentosEmpleado>();
                if (Request.IdsHaberesAsignados.Count() > 0 && Request.IdsHaberesAsignados.Any(x => x != "Selecciona"))
                {
                    foreach (string IdHaber in Request.IdsHaberesAsignados)
                    {
                        var Haber = db.ColeccionHaberes.SingleOrDefault(x => x.Id == Convert.ToInt32(IdHaber));

                        if (Haber != null)
                        {
                            var ItemAsignacion = new HaberesYDescuentosEmpleado()
                            {
                                EmpresaId         = 1,
                                EmpleadoId        = Convert.ToInt32(Request.EmpleadoId),
                                HaberOdescuentoId = Haber.Id,
                                TipoHoD           = TipoHaberODescuento.HABER,
                                Monto             = Haber.ValorCalculo
                            };
                            LstHyD.Add(ItemAsignacion);
                        }
                    }
                }
                if (Request.IdsDescuentosAsignados.Count() > 0 && Request.IdsDescuentosAsignados.Any(x => x != "Selecciona"))
                {
                    foreach (string IdDescuento in Request.IdsDescuentosAsignados)
                    {
                        var Descuento = db.ColeccionDescuentos.SingleOrDefault(x => x.Id == Convert.ToInt32(IdDescuento));
                        if (Descuento != null)
                        {
                            var ItemAsignacion = new HaberesYDescuentosEmpleado()
                            {
                                EmpresaId         = 1,
                                EmpleadoId        = Convert.ToInt32(Request.EmpleadoId),
                                HaberOdescuentoId = Descuento.Id,
                                TipoHoD           = TipoHaberODescuento.DESCUENTO,
                                Monto             = Descuento.ValorCalculo
                            };
                            LstHyD.Add(ItemAsignacion);
                        }
                    }
                }

                db.HaberesYDescuentosEmpleado.AddRange(LstHyD);
                db.SaveChanges();
                Result = true;
            }
            catch (Exception)
            {
                Result = false;
            }


            return(Result);
        }
コード例 #2
0
ファイル: Tbempleados.cs プロジェクト: lbdevv/RemuSystem
        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);
        }