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; }
public void RegisterLoan(Mov_CxC_Employees mov_CxC) { using (var en = new DB_SystemFoodTrucksEntities()) { en.Mov_CxC_Employees.Add(mov_CxC); en.SaveChanges(); } }
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(); } } } }
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(); } } }
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; } }