public void Update(EmployeeDebtItem employeeDebtItem) { try { using (var em = EntityManagerFactory.CreateInstance(ds)) { string[] columns = { "EmployeeDebtId", "InstallmentCounter", "AmountPerMonth", "IsPaid", "IsIncludePayroll", "PaymentDate" }; object[] values = { employeeDebtItem.EmployeeDebtId, employeeDebtItem.InstallmentCounter, employeeDebtItem.AmountPerMonth, employeeDebtItem.IsPaid == true?1:0, employeeDebtItem.IsIncludePayroll == true?1:0, employeeDebtItem.PaymentDate.ToShortDateString() }; var q = new Query().Select(columns).From(tableName).Update(values) .Where("ID").Equal("{" + employeeDebtItem.ID + "}"); em.ExecuteNonQuery(q.ToSql()); } } catch (Exception ex) { throw ex; } }
public EmployeeDebtItem GetById(Guid id) { EmployeeDebtItem employeeDebtItem = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { var sql = "SELECT edi.*, ed.DebtDate " + "FROM EmployeeDebtItem edi INNER JOIN EmployeeDebt ed ON edi.EmployeeDebtId = ed.ID " + "WHERE edi.ID ='{" + id + "}'"; employeeDebtItem = em.ExecuteObject <EmployeeDebtItem>(sql, new EmployeeDebtItemMapper()); } return(employeeDebtItem); }
public void Save(IEntityManager em, Transaction tx, EmployeeDebtItem employeeDebtItem) { string[] columns = { "ID", "EmployeeDebtId", "InstallmentCounter", "AmountPerMonth", "IsPaid", "IsIncludePayroll", "PaymentDate" }; object[] values = { Guid.NewGuid(), employeeDebtItem.EmployeeDebtId, employeeDebtItem.InstallmentCounter, employeeDebtItem.AmountPerMonth, employeeDebtItem.IsPaid == true?1:0, employeeDebtItem.IsIncludePayroll == true?1:0, employeeDebtItem.PaymentDate.ToShortDateString() }; var q = new Query().Select(columns).From(tableName).Insert(values); em.ExecuteNonQuery(q.ToSql(), tx); }
public EmployeeDebtItem GetLast(Guid employeeDebtId) { EmployeeDebtItem employeeDebtItem = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { var sql = "SELECT TOP 1 edi.*, ed.DebtDate " + "FROM EmployeeDebtItem edi INNER JOIN EmployeeDebt ed ON edi.EmployeeDebtId = ed.ID " + "WHERE edi.EmployeeDebtId = '{" + employeeDebtId + "}' " + "ORDER BY edi.Counter DESC"; employeeDebtItem = em.ExecuteObject <EmployeeDebtItem>(sql, new EmployeeDebtItemMapper()); } return(employeeDebtItem); }
public void Update(EmployeeDebt employeeDebt) { Transaction tx = null; try { using (var em = EntityManagerFactory.CreateInstance(ds)) { tx = em.BeginTransaction(); string[] fields = { "EmployeeId", "DebtDate", "TotalAmount", "LongTerm", "Installment", "AmountInWords", "Notes", "IsStatus", "ModifiedDate", "ModifiedBy" }; object[] values = { employeeDebt.EmployeeId, employeeDebt.DebtDate.ToShortDateString(), employeeDebt.TotalAmount, employeeDebt.LongTerm, employeeDebt.Installment, employeeDebt.AmountInWords, employeeDebt.Notes, employeeDebt.IsStatus == true?1:0, DateTime.Now.ToShortDateString(), Store.ActiveUser }; Query q = new Query().Select(fields).From(tableName).Update(values) .Where("ID").Equal("{" + employeeDebt.ID + "}"); em.ExecuteNonQuery(q.ToSql(), tx); employeeDebtItemRepository.Delete(employeeDebt.ID); int j = 1; for (int i = 1; i <= employeeDebt.LongTerm; i++) { EmployeeDebtItem debtItem = new EmployeeDebtItem(); debtItem.EmployeeDebtId = employeeDebt.ID; debtItem.InstallmentCounter = i; debtItem.AmountPerMonth = employeeDebt.Installment; debtItem.IsPaid = false; int debtDay = cutOffDate; int debtMonth = employeeDebt.DebtDate.Month; int debtYear = employeeDebt.DebtDate.Year; int nextMonth = debtMonth + i; int nextYear = 0; if (nextMonth > 12) { nextMonth = j; nextYear = debtYear + 1; j++; } else { nextMonth = debtMonth + i; nextYear = debtYear; } DateTime paymentDate = DateTime.Parse(nextMonth + "/" + debtDay + "/" + nextYear); debtItem.PaymentDate = paymentDate; employeeDebtItemRepository.Save(em, tx, debtItem); } tx.Commit(); } } catch (Exception ex) { tx.Rollback(); throw ex; } }