Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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;
            }
        }