public void listar_aguinaldos_review(Aguinaldo_General general) { aguinaldo_lista_calcular = new Aguinaldo_Lista_Temporal(this, general); aguinaldo_lista_calcular.Dock = DockStyle.Fill; pn_master.Controls.Clear(); pn_master.Controls.Add(aguinaldo_lista_calcular); }
public Aguinaldo_Lista_Temporal(Aguinaldo_Control parent_control, Aguinaldo_General general) { InitializeComponent(); this.parent = parent_control; bt_calcular.Visible = false; editar = true; aguinaldo_general = general; colaboradores = new Colaborador().obtener_lista_activos(); horarios = new Horario().obtener_lista_activos(); aguinaldos = new Aguinaldo().obtener_lista_id_general(general.Id); salvar_base(); llenar_tabla(); }
public Aguinaldo_General obtener() { Aguinaldo_General aguinaldo = new Aguinaldo_General(); Int32 id = Int32.Parse(dgv_Aguinaldo.CurrentRow.Cells["Encabezado"].Value.ToString()); foreach (Aguinaldo_General x in lista) { if (x.Id == id) { aguinaldo = x; } } return(aguinaldo); }
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); }
private void dgv_Aguinaldo_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { Aguinaldo_General general = obtener(); parent.listar_aguinaldos_review(general); }