public void Update(PayablePayment payablePayment) { Transaction tx = null; try { using (var em = EntityManagerFactory.CreateInstance(ds)) { tx = em.BeginTransaction(); string[] columns = { "PaymentCode", "PaymentDate", "TotalCash", "TotalBank", "TotalGiro", "TotalCorrection", "Notes", "ModifiedDate", "ModifiedBy" }; object[] values = { payablePayment.PaymentCode, payablePayment.PaymentDate, payablePayment.TotalCash, payablePayment.TotalBank, payablePayment.TotalGiro, payablePayment.TotalCorrection, payablePayment.Notes, DateTime.Now.ToShortDateString(), Store.ActiveUser }; var q = new Query().Select(columns).From(tableName).Update(values) .Where("ID").Equal("{" + payablePayment.ID + "}"); em.ExecuteNonQuery(q.ToSql(), tx); ////detail dihapus -> update status = false var list = payablePaymentItemRepository.GetByPayablePaymentId(payablePayment.ID); foreach (var payableItem in list) { salesRepository.UpdateStatus(em, tx, payableItem.SalesId, false); payableBalanceRepository.UpdateStatusFromPayment(em, tx, payableItem.Sales.Code, false); } payablePaymentItemRepository.Delete(em, tx, payablePayment.ID); foreach (var payablePaymentItem in payablePayment.PayablePaymentItems) { payablePaymentItem.PayablePaymentId = payablePayment.ID; payablePaymentItemRepository.Save(em, tx, payablePaymentItem); //update status = lunas salesRepository.UpdateStatus(em, tx, payablePaymentItem.SalesId, true); //update status = lunas payableBalanceRepository.UpdateStatusFromPayment(em, tx, payablePaymentItem.Sales.Code, true); } UpdateGrandTotal(em, tx, payablePayment.ID, payablePayment.GrandTotal); tx.Commit(); } } catch (Exception ex) { tx.Rollback(); throw ex; } }
private void ViewPayablePaymentDetail(PayablePayment payablePayment) { txtID.Text = payablePayment.ID.ToString(); txtPayablePaymentId.Text = payablePayment.ID.ToString(); lblCode.Text = payablePayment.PaymentCode; dtpDate.Text = payablePayment.PaymentDate.ToShortDateString(); txtNotes.Text = payablePayment.Notes; }
public void Delete(PayablePayment payablePayment) { Transaction tx = null; try { using (var em = EntityManagerFactory.CreateInstance(ds)) { tx = em.BeginTransaction(); String notes = ""; if (payablePayment.Notes != "") { notes = "DIBATALKAN - " + payablePayment.Notes; } else { notes = "DIBATALKAN"; } string[] columns = { "TotalCash", "TotalBank", "TotalGiro", "TotalCorrection", "GrandTotal", "Notes", "ModifiedDate", "ModifiedBy" }; object[] values = { 0, 0, 0, 0, 0, notes, DateTime.Now.ToShortDateString(), Store.ActiveUser }; var q = new Query().Select(columns).From(tableName).Update(values) .Where("ID").Equal(payablePayment.ID); em.ExecuteNonQuery(q.ToSql(), tx); var itemList = payablePaymentItemRepository.GetByPayablePaymentId(payablePayment.ID); foreach (var payablePaymentItem in itemList) { payablePaymentItemRepository.Delete(em, tx, payablePaymentItem); } foreach (var item in itemList) { //update status = lunas salesRepository.UpdateStatus(em, tx, item.SalesId, false); //update status = lunas payableBalanceRepository.UpdateStatusFromPayment(em, tx, item.Sales.Code, false); } tx.Commit(); } } catch (Exception ex) { tx.Rollback(); throw ex; } }
private void PopulatePayablePayment(PayablePayment payablePayment) { var item = new ListViewItem(payablePayment.ID.ToString()); item.SubItems.Add(payablePayment.PaymentDate.ToString("dd/MM/yyyy")); item.SubItems.Add(payablePayment.PaymentCode); item.SubItems.Add(payablePayment.GrandTotal.ToString("N0").Replace(",", ".")); item.SubItems.Add(payablePayment.CreatedDate.ToString("dd/MM/yyyy")); item.SubItems.Add(payablePayment.CreatedBy); item.SubItems.Add(payablePayment.ModifiedDate.ToString("dd/MM/yyyy")); item.SubItems.Add(payablePayment.ModifiedBy); lvwPayablePayment.Items.Add(item); }
public void Save(PayablePayment payablePayment) { Transaction tx = null; try { using (var em = EntityManagerFactory.CreateInstance(ds)) { tx = em.BeginTransaction(); Guid ID = Guid.NewGuid(); string[] columns = { "ID", "PaymentCode", "PaymentDate", "TotalCash", "TotalBank", "TotalGiro", "TotalCorrection", "GrandTotal", "Notes", "CreatedDate", "CreatedBy" }; object[] values = { ID, payablePayment.PaymentCode, payablePayment.PaymentDate.ToShortDateString(), payablePayment.TotalCash, payablePayment.TotalBank, payablePayment.TotalGiro, payablePayment.TotalCorrection, payablePayment.GrandTotal, payablePayment.Notes, DateTime.Now.ToShortDateString(), Store.ActiveUser }; var q = new Query().Select(columns).From(tableName).Insert(values); em.ExecuteNonQuery(q.ToSql(), tx); foreach (var payablePaymentItems in payablePayment.PayablePaymentItems) { payablePaymentItems.PayablePaymentId = ID; payablePaymentItemRepository.Save(em, tx, payablePaymentItems); //update status = lunas salesRepository.UpdateStatus(em, tx, payablePaymentItems.SalesId, true); //update status = lunas payableBalanceRepository.UpdateStatusFromPayment(em, tx, payablePaymentItems.Sales.Code, true); } recordCounterRepository.UpdatePayablePaymentCounter(payablePayment.PaymentDate.Month, payablePayment.PaymentDate.Year); tx.Commit(); } } catch (Exception ex) { tx.Rollback(); throw ex; } }
private void tsbDelete_Click(object sender, EventArgs e) { var userAccess = userAccessRepository.GetAll(); bool isAllowed = userAccess.Exists(u => u.FullName == Store.ActiveUser && u.ObjectName == "Pelunasan Piutang" && u.IsDelete); if (isAllowed == false && Store.IsAdministrator == false) { MessageBox.Show("Anda tidak dapat menghapus", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (Store.IsPeriodClosed) { MessageBox.Show("Tidak dapat menambah/ubah/hapus \n\n Periode : " + Store.GetMonthName(Store.ActiveMonth) + " " + Store.ActiveYear + "\n\n" + "Sudah Tutup Buku", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { PayablePayment payablePayment = payablePaymentRepository.GetById(new Guid(txtID.Text)); if (payablePayment.Notes.Contains("DIBATALKAN")) { MessageBox.Show("Sudah pernah di hapus ", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (MessageBox.Show("Anda yakin ingin menghapus '" + lblCode.Text + "'", "Perhatian", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var payablePayment1 = new PayablePayment(); payablePayment1.ID = new Guid(txtID.Text); payablePayment1.Notes = txtNotes.Text; payablePaymentRepository.Delete(payablePayment1); GetLastPayablePayment(); } if (lvwPayablePayment.Items.Count == 0) { tsbEdit.Enabled = false; tsbDelete.Enabled = false; } } } } }
public PayablePayment GetLast(int month, int year) { PayablePayment payablePayment = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { string sql = "SELECT TOP 1 ID, PaymentCode, PaymentDate, " + "TotalCash, TotalBank, TotalGiro, TotalCorrection, GrandTotal, Notes, " + "CreatedDate, ModifiedDate, CreatedBy, ModifiedBy " + "FROM PayablePayment " + "WHERE Month(PaymentDate)=" + month + " AND Year(PaymentDate)=" + year + " ORDER BY PayablePayment.PaymentCode DESC"; payablePayment = em.ExecuteObject <PayablePayment>(sql, new PayablePaymentMapper()); } return(payablePayment); }
public PayablePayment GetByCode(string code) { PayablePayment payablePayment = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { string sql = "SELECT ID, PaymentCode, PaymentDate, " + "TotalCash, TotalBank, TotalGiro, TotalCorrection, GrandTotal, Notes, " + "CreatedDate, ModifiedDate, CreatedBy, ModifiedBy " + "FROM PayablePayment " + "WHERE PaymentCode='" + code + "'"; payablePayment = em.ExecuteObject <PayablePayment>(sql, new PayablePaymentMapper()); } return(payablePayment); }
public PayablePayment GetById(Guid id) { PayablePayment payablePayment = null; using (var em = EntityManagerFactory.CreateInstance(ds)) { string sql = "SELECT p.ID, p.PaymentCode, p.PaymentDate, " + "p.TotalCash, p.TotalBank, p.TotalGiro, p.TotalCorrection, p.GrandTotal, p.Notes, " + "p.CreatedDate,p.ModifiedDate, p.CreatedBy, p.ModifiedBy " + "FROM PayablePayment p " + "WHERE " + "p.ID='{" + id + "}'"; payablePayment = em.ExecuteObject <PayablePayment>(sql, new PayablePaymentMapper()); if (payablePayment != null) { payablePayment.PayablePaymentItems = payablePaymentItemRepository.GetByPayablePaymentId(payablePayment.ID); } } return(payablePayment); }
private void tsbEdit_Click(object sender, EventArgs e) { var userAccess = userAccessRepository.GetAll(); bool isAllowed = userAccess.Exists(u => u.FullName == Store.ActiveUser && u.ObjectName == "Pelunasan Piutang" && u.IsEdit); if (isAllowed == false && Store.IsAdministrator == false) { MessageBox.Show("Anda tidak dapat merubah", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (Store.IsPeriodClosed) { MessageBox.Show("Tidak dapat menambah/ubah/hapus \n\n Periode : " + Store.GetMonthName(Store.ActiveMonth) + " " + Store.ActiveYear + "\n\n" + "Sudah Tutup Buku", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { PayablePayment payablePayment = payablePaymentRepository.GetById(new Guid(txtID.Text)); if (payablePayment.Notes.Contains("DIBATALKAN")) { MessageBox.Show("Sudah pernah di hapus ", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { formMode = FormMode.Edit; this.Text = "Pelunasan Piutang - Edit"; EnableFormForEdit(); } } } }
private void SavePayablePayment() { if (dtpDate.Value.Month != Store.ActiveMonth || dtpDate.Value.Year != Store.ActiveYear) { MessageBox.Show("Tanggal diluar periode aktif", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (lvwPayablePayment.Items.Count == 0) { MessageBox.Show("Detail tidak boleh kosong", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { var payablePayment = new PayablePayment(); payablePayment.PaymentCode = lblCode.Text; payablePayment.PaymentDate = dtpDate.Value; payablePayment.Notes = txtNotes.Text; payablePayment.TotalCash = decimal.Parse(lblCash.Text.Replace(".", "")); payablePayment.TotalBank = decimal.Parse(lblBank.Text.Replace(".", "")); payablePayment.TotalGiro = decimal.Parse(lblGiro.Text.Replace(".", "")); payablePayment.TotalCorrection = decimal.Parse(lblCorrection.Text.Replace(".", "")); payablePayment.GrandTotal = decimal.Parse(lblTotal.Text.Replace(".", "")); var payablePaymentItems = new List <PayablePaymentItem>(); foreach (ListViewItem item in lvwPayablePayment.Items) { string salesId = item.SubItems[0].Text; string cash = item.SubItems[2].Text; string bank = item.SubItems[3].Text; string giro = item.SubItems[4].Text; string giroNumber = item.SubItems[5].Text; string correction = item.SubItems[6].Text; string total = item.SubItems[7].Text; PayablePaymentItem si = new PayablePaymentItem(); if (si.Sales == null) { si.Sales = new Sales(); } si.Sales.Code = item.SubItems[1].Text; si.SalesId = new Guid(salesId); si.Notes = ""; si.Cash = int.Parse(cash.Replace(".", "")); si.Bank = decimal.Parse(bank.Replace(".", "")); si.Giro = decimal.Parse(giro.Replace(".", "")); si.GiroNumber = txtGiroNumber.Text; si.Correction = decimal.Parse(correction.Replace(".", "")); si.Total = decimal.Parse(total.Replace(".", "")); payablePaymentItems.Add(si); } payablePayment.PayablePaymentItems = payablePaymentItems; if (formMode == FormMode.Add) { payablePaymentRepository.Save(payablePayment); ShowPayablePaymentReport(); GetLastPayablePayment(); } else if (formMode == FormMode.Edit) { payablePayment.ID = new Guid(txtID.Text); payablePayment.TotalCash = decimal.Parse(lblCash.Text.Replace(".", "")); payablePayment.TotalBank = decimal.Parse(lblBank.Text.Replace(".", "")); payablePayment.TotalGiro = decimal.Parse(lblGiro.Text.Replace(".", "")); payablePayment.TotalCorrection = decimal.Parse(lblCorrection.Text.Replace(".", "")); payablePayment.GrandTotal = decimal.Parse(lblTotal.Text.Replace(".", "")); payablePaymentRepository.Update(payablePayment); ShowPayablePaymentReport(); } LoadPayablePaymentItems(new Guid(txtID.Text)); DisableForm(); formMode = FormMode.View; FillCode(); this.Text = "Pelunasan Piutang"; } }