示例#1
0
        private void Calcular_Click(object sender, EventArgs e)
        {
            double Aguinaldo, Vacaciones, Prima, Infonavit, Imss, Rcv;
            double Sgmm, Sgmmd, Vales, Comedor, Seguro, Personal, Sick;
            double Saldo, Ley, Empresa, Total;

            Aguinaldo  = (Convert.ToDouble(aguinaldo.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Vacaciones = (Convert.ToDouble(vacaciones.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Prima      = (Convert.ToDouble(prima.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Infonavit  = (Convert.ToDouble(infonavit.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Imss       = (Convert.ToDouble(imss.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Rcv        = (Convert.ToDouble(rcv.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Sgmm       = (Convert.ToDouble(sgmm.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Sgmmd      = Sgmm * (Convert.ToDouble(dependents.Text));
            Vales      = (Convert.ToDouble(vales.Text) * (Convert.ToDouble(saldo1.Text))) / 100;
            Comedor    = Convert.ToDouble(comedor.Text);
            Seguro     = Convert.ToDouble(seguro.Text);
            Personal   = Convert.ToDouble(personal.Text);
            Sick       = Convert.ToDouble(sick.Text);

            aguinaldo2.Text  = Aguinaldo.ToString("C");
            vacaciones2.Text = Vacaciones.ToString("C");
            prima2.Text      = Prima.ToString("C");
            infonavit2.Text  = Infonavit.ToString("C");
            imss2.Text       = Imss.ToString("C");
            rcv2.Text        = Rcv.ToString("C");
            sgmm2.Text       = Sgmm.ToString("C");
            sgmmd2.Text      = Sgmmd.ToString("C");
            vales2.Text      = Vales.ToString("C");
            comedor2.Text    = Comedor.ToString("C");
            seguro2.Text     = Seguro.ToString("C");
            personal2.Text   = Personal.ToString("C");
            sick2.Text       = Sick.ToString("C");

            Saldo   = Convert.ToDouble(saldo1.Text);
            Ley     = Aguinaldo + Vacaciones + Prima + Infonavit + Imss + Rcv;
            Empresa = Sgmm + Sgmmd + Vales + Comedor + Seguro + Personal + Sick;;
            Total   = Saldo + Empresa + Ley;

            saldo2.Text  = Saldo.ToString("C");
            ley.Text     = Ley.ToString("C");
            empresa.Text = Empresa.ToString("C");
            total.Text   = Total.ToString("C");
        }
        void CalcularLiquidación()
        {
            SalariosPendientes = Vacaciones = Utilidades = PrestacionesSociales =
                Preavisto      = indemnización = Total = 0;


            //Calculo Horas trabajadas
            double SueldoBase = Contrato.sueldo * HorasTrabajadas;

            double SueldoExtra = Contrato.sueldo * 2 * HorasExtras;

            SalariosPendientes = SueldoBase + SueldoExtra;

            //Calculo de Vacaciones
            if (AñosAntiguedad > 0)
            {
                int    DiasPagar      = 15 + (1 * AñosAntiguedad);
                double pagoVacaciones = Contrato.sueldo * 8 * DiasPagar;


                int    DiasBono       = 7 + (1 * AñosAntiguedad);
                double bonoVacaciones = Contrato.sueldo * 8 * DiasBono;

                Vacaciones = pagoVacaciones + bonoVacaciones;
            }
            else
            {
                //No merece Vacaciones
                SlotVacaciones.Visibility = Visibility.Collapsed;
            }

            //Calculo de Utilidades

            double SueldoMensual = Contrato.sueldo * 8 * 30;

            TimeSpan yearsOld = DateTime.Today - new DateTime(DateTime.Today.AddYears(-1).Year, 12, 15);
            int      Days     = (int)yearsOld.TotalDays;

            double MontoaPagar = (SueldoMensual * Days) / 360;

            //double PagoUtilidades = double.Parse(txtPagoUtilidades.Text);

            //if(txt)

            Utilidades = MontoaPagar;

            //Prestaciones Sociales
            var resp = new MPrestacion().EncontrarByEmpleado(idEmpleado);

            if (resp.Count > 0)
            {
                if (resp[0].porcentajeOtorgado != 0)
                {
                    SlotPrestacionesOtorgadas.Visibility = Visibility.Visible;

                    txtPrestacionesOtorgadas.Text = "-" + resp[0].porcentajeOtorgado.ToString("0.00") + " %";
                }
                else
                {
                    SlotPrestacionesOtorgadas.Visibility = Visibility.Collapsed;
                }
            }
            else
            {
                SlotPrestacionesOtorgadas.Visibility = Visibility.Collapsed;
            }

            int years  = AñosAntiguedad;
            int months = MesesAntiguedad;

            if (years > 0)
            {
                PrestacionesSociales = years * 30 * Contrato.sueldo * 8;
            }
            else if (months > 3)
            {
                PrestacionesSociales = months * 5 * Contrato.sueldo * 8;
            }
            else
            {
                SlotPrestaciones.Visibility          = Visibility.Collapsed;
                SlotPrestacionesOtorgadas.Visibility = Visibility.Collapsed;
            }

            //indemnización
            if (!(ChBCulminacionContrato.IsChecked ?? false))
            {
                SlotIndemnizacion.Visibility = Visibility.Collapsed;
                SlotPreaviso.Visibility      = Visibility.Collapsed;
            }
            else
            {
                SlotIndemnizacion.Visibility = Visibility.Visible;
                SlotPreaviso.Visibility      = Visibility.Visible;
                Preavisto     = Contrato.sueldo * 8 * 30;
                indemnización = Contrato.sueldo * 9 * 30;
            }

            Total = SalariosPendientes + Vacaciones + Utilidades + PrestacionesSociales + Preavisto + indemnización;

            txtSueldosPendientes.Text = SalariosPendientes.ToString("0.00") + " €";
            txtVacaciones.Text        = Vacaciones.ToString("0.00") + " €";
            txtUtilidades.Text        = Utilidades.ToString("0.00") + " €";
            txtPrestaciones.Text      = PrestacionesSociales.ToString("0.00") + " €";
            txtPreaviso.Text          = Preavisto.ToString("0.00") + " €";
            txtIndemnización.Text     = indemnización.ToString("0.00") + " €";
            txtTotal.Text             = Total.ToString("0.00") + " €";
        }