Example #1
0
        private void btnRegisterLoan_Click(object sender, RoutedEventArgs e)
        {
            var employee = new Employees();
            int index    = cboEmployeeP.SelectedIndex;

            employee = (Employees)cboEmployeeP.Items[index];
            var newLoan = new Mov_CxC_Employees()
            {
                Id_employee      = employee.Id,
                Amount_charged   = 0,
                Loan_Amount      = Convert.ToInt32(txtMonto.Text),
                Fee              = Convert.ToInt32(txtCuotas.Text),
                FeeRest          = Convert.ToInt32(txtCuotas.Text),
                Fee_Amount       = Convert.ToInt32(txtMCuotas.Text),
                Transaction_date = DateTime.Now,
                Amount_rest      = Convert.ToInt32(txtMonto.Text),
                Transaction_type = 1
            };

            PaysheetBL.GetInstance().RegisterLoan(newLoan);
            MessageBoxRM.Show("Prestamo registrado exitosamente.", "Registro de Prestamo", MessageBoxButtonRM.OK, MessageBoxIconRM.Information);
            txtMCuotas.Clear();
            txtMonto.Clear();
            txtCuotas.Clear();
            cboEmployeeP.SelectedIndex = -1;
        }
Example #2
0
 public void RegisterLoan(Mov_CxC_Employees mov_CxC)
 {
     using (var en = new DB_SystemFoodTrucksEntities())
     {
         en.Mov_CxC_Employees.Add(mov_CxC);
         en.SaveChanges();
     }
 }
Example #3
0
        public void PayrollWithLoan(Paysheet paysheet, Mov_CxC_Employees mov_CxC)
        {
            using (var en = new DB_SystemFoodTrucksEntities())
            {
                using (DbContextTransaction transaction = en.Database.BeginTransaction())
                {
                    try
                    {
                        //var payment_bd = new Paysheet()
                        //{
                        //    Amount = paysheet.Amount,
                        //    Payment_date = paysheet.Payment_date,
                        //    Id_employee = paysheet.Id_employee,
                        //    Note = paysheet.Note
                        //};
                        en.Paysheet.Add(paysheet);
                        en.SaveChanges();

                        var updateloan_bd = en.Mov_CxC_Employees.First(m => m.Id_employee == mov_CxC.Id_employee && m.Transaction_type == 1);
                        updateloan_bd.Amount_rest = mov_CxC.Amount_rest;
                        updateloan_bd.FeeRest     = mov_CxC.FeeRest;
                        en.SaveChanges();

                        var payloan = new Mov_CxC_Employees()
                        {
                            Id_employee      = mov_CxC.Id_employee,
                            Amount_charged   = mov_CxC.Amount_charged,
                            Transaction_date = mov_CxC.Transaction_date,
                            Transaction_type = mov_CxC.Transaction_type,
                            Loan_Amount      = 0,
                            Fee_Amount       = 0,
                            Fee         = 0,
                            FeeRest     = 0,
                            Amount_rest = 0
                        };
                        en.Mov_CxC_Employees.Add(payloan);
                        en.SaveChanges();


                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        MessageBoxRM.Show(ex.Message);
                        transaction.Rollback();
                    }
                }
            }
        }
Example #4
0
        private void cboEmployee_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (cboEmployee.SelectedIndex > -1)
            {
                txtNota.Text = "";
                var employee = new Employees();
                var loan     = new Mov_CxC_Employees();
                int index    = cboEmployee.SelectedIndex;
                employee       = (Employees)cboEmployee.Items[index];
                txtSueldo.Text = employee.Salary.ToString();

                loan = PaysheetBL.GetInstance().GetMov(employee.Id);
                if (loan != null)
                {
                    if (loan.FeeRest > 0)
                    {
                        txtNota.Text = $"Descuento de cuota #{loan.FeeRest} de {loan.Fee}";
                        txtDesc.Text = PaysheetBL.GetInstance().GetFee(employee.Id).ToString();
                    }
                    else
                    {
                        txtDesc.Text = "0";
                        txtNota.Text = "";
                    }
                }
                int sueldo = Convert.ToInt32(txtSueldo.Text);
                int desc   = Convert.ToInt32(txtDesc.Text);
                if (desc > 0)
                {
                    int montoPagar = sueldo - desc;
                    txtMontoP.Text = montoPagar.ToString();
                }
                else
                {
                    txtMontoP.Text = employee.Salary.ToString();
                }
            }
        }
Example #5
0
        private void btnPaidPaysheet_Click(object sender, RoutedEventArgs e)
        {
            var employee = new Employees();
            var loan     = new Mov_CxC_Employees();
            int index    = cboEmployee.SelectedIndex;

            employee = (Employees)cboEmployee.Items[index];
            int desc = Convert.ToInt32(txtDesc.Text);

            loan = PaysheetBL.GetInstance().GetMov(employee.Id);
            string nota;

            if (string.IsNullOrEmpty(txtNota.Text))
            {
                nota = "-";
            }
            else
            {
                nota = txtNota.Text;
            }
            if (desc > 0)
            {
                var newPayment = new Paysheet()
                {
                    Amount       = Convert.ToInt32(txtSueldo.Text),
                    Payment_date = DateTime.Now,
                    Id_employee  = employee.Id,
                    Note         = nota
                };

                var updateLoan = new Mov_CxC_Employees()
                {
                    Id_employee      = employee.Id,
                    Amount_charged   = desc,
                    Amount_rest      = loan.Amount_rest - desc,
                    FeeRest          = loan.FeeRest - 1,
                    Transaction_date = DateTime.Now,
                    Transaction_type = 3
                };

                PaysheetBL.GetInstance().PayrollWithLoan(newPayment, updateLoan);
                MessageBoxRM.Show($"Pago nomina a {employee.Name} {employee.Last_name} aplicado.", "Pago nomina y cobro cuota de prestamo", MessageBoxButtonRM.OK, MessageBoxIconRM.Information);
                txtSueldo.Clear();
                txtDesc.Clear();
                txtMontoP.Clear();
                txtNota.Clear();
                cboEmployee.SelectedIndex = -1;
            }
            else
            {
                var newPayment = new Paysheet()
                {
                    Amount       = Convert.ToInt32(txtSueldo.Text),
                    Payment_date = DateTime.Now,
                    Id_employee  = employee.Id,
                    Note         = nota
                };
                PaysheetBL.GetInstance().PaymentPayroll(newPayment);
                MessageBoxRM.Show($"Pago nomina a {employee.Name} {employee.Last_name} aplicado.", "Pago nomina", MessageBoxButtonRM.OK, MessageBoxIconRM.Information);
                txtSueldo.Clear();
                txtDesc.Clear();
                txtMontoP.Clear();
                txtNota.Clear();
                cboEmployee.SelectedIndex = -1;
            }
        }