Ejemplo n.º 1
0
 public Pago_Calculos(Pago_Control parent)
 {
     InitializeComponent();
     this.parent   = parent;
     config        = new BusinessLogic.Configuracion().obtener_Configuracion();
     departamentos = new Departamento().obtener_lista_activos();
     colaboradores = new Colaborador().obtener_lista_activos();
     llenar_cb_departamentos();
     llenar_cb_periodos();
 }
Ejemplo n.º 2
0
 public Pago_Review_Form(Pago pago, Colaborador c, Pago_Review parent)
 {
     InitializeComponent();
     this.pago   = pago;
     bruto_base  = pago.SalarioBruto;
     this.c      = c;
     config      = new BusinessLogic.Configuracion().obtener_Configuracion();
     tipo        = c.Tipo_planilla;
     this.parent = parent;
     setear_datos();
 }
        public void gestion()
        {
            Int32    avance = 0;
            Int32    flag   = 0;
            DateTime fecha  = DateTime.Now.Date;

            aguinaldos = new List <Aguinaldo>();
            Int32   id_general      = Convert.ToInt32(fecha.Day + "" + fecha.Month + "" + fecha.Year);
            Decimal total_aguinaldo = 0;

            foreach (Colaborador c in colaboradores)
            {
                Horario horario         = set_horario(c.Id_horario);
                Decimal salario_diario  = c.Precio * (horario.Horas - 1);
                Decimal salario_mensual = salario_diario * 30;

                Decimal horas  = 0;
                Decimal extras = 0;
                Int32   mes    = 0;

                foreach (Pago p in pagos)
                {
                    if (p.Id_colaborador == c.Id)
                    {
                        if (mes == 0)
                        {
                            mes = p.FechaPago.Month;
                        }
                        horas  += p.HorasLaboradas;
                        extras += p.HorasExtra;
                    }
                }

                if (horas != 0)
                {
                    Decimal salario_anual = salario_mensual * 12;
                    BusinessLogic.Configuracion config = new BusinessLogic.Configuracion().obtener_Configuracion();
                    Decimal salario_extras             = (c.Precio * config.Porcentaje_Hora_Extra) * extras;
                    Decimal salario_final = (salario_anual / 12) + salario_extras;
                    total_aguinaldo += salario_final;
                    aguinaldos.Add(new Aguinaldo(c.Id, c.Id, fecha, salario_final, "No disponible", true, id_general));
                }
                avance = ((++flag) * 100) / colaboradores.Count;
                bg_calcular_aguinaldo.ReportProgress(avance);
                Thread.Sleep(500);
            }
            aguinaldo_general = new Aguinaldo_General(id_general, fecha, total_aguinaldo, true);
        }