public int RecordCount() { m_command.CommandText = CustomerInvoice.RecordCount(); int result = Convert.ToInt32(m_command.ExecuteScalar()); return(result); }
protected override Event doGet(int ID) { m_command.CommandText = CustomerInvoice.GetByIDSQL(ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); CustomerInvoice st = CustomerInvoice.TransformReader(r); r.Close(); m_command.CommandText = CustomerInvoiceItem.GetByEventIDSQL(ID); r = m_command.ExecuteReader(); IList stis = CustomerInvoiceItem.TransformReaderList(r); r.Close(); foreach (CustomerInvoiceItem sti in stis) { sti.EVENT = st; sti.PART = PartRepository.GetByID(m_command, sti.PART.ID); sti.STOCK_CARD_ENTRY = StockCardEntryRepository.FindStockCardEntryByEventItem(m_command, sti.ID, sti.STOCK_CARD_ENTRY_TYPE); if (sti.DO_ITEM.ID > 0) { sti.DO_ITEM = DeliveryOrderRepository.FindDeliveryOrderItem(m_command, sti.DO_ITEM.ID); } st.EVENT_ITEMS.Add(sti); } return(st); }
private EventStatus getEventStatus(int id) { m_command.CommandText = CustomerInvoice.GetEventStatus(id); object b = m_command.ExecuteScalar(); EventStatus m = (EventStatus)Enum.Parse(typeof(EventStatus), b.ToString()); return(m); }
public override Event FindLastCodeAndTransactionDate(string codesample) { m_command.CommandText = CustomerInvoice.FindLastCodeAndTransactionDate(codesample); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); Event e = CustomerInvoice.TransformReader(r); r.Close(); return(e); }
public static CustomerInvoice GetHeaderOnly(MySql.Data.MySqlClient.MySqlCommand cmd, int poID) { cmd.CommandText = CustomerInvoice.GetByIDSQL(poID); MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); CustomerInvoice st = CustomerInvoice.TransformReader(r); r.Close(); return(st); }
protected override bool doIsCodeExist(string code) { try { m_command.CommandText = CustomerInvoice.SelectCountByCode(code); int t = Convert.ToInt32(m_command.ExecuteScalar()); return(t > 0); } catch (Exception x) { throw x; } }
protected override IList doSearch(string find) { try { m_command.CommandText = CustomerInvoice.GetSearch(find); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList rest = CustomerInvoice.TransformReaderList(r); r.Close(); return(rest); } catch (Exception x) { throw x; } }
public IList FindSIbyPartAndPONo(string find, IList exceptPOI, int supplierID, DateTime trDate) { StringBuilder poisSB = new StringBuilder(); foreach (int i in exceptPOI) { poisSB.Append(i.ToString()); poisSB.Append(','); } string pois = poisSB.ToString(); pois = exceptPOI.Count > 0?pois.Substring(0, pois.Length - 1):""; m_command.CommandText = CustomerInvoiceItem.GetSearchByPartAndPONo(find, supplierID, pois, trDate); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList result = CustomerInvoiceItem.TransformReaderList(r); r.Close(); foreach (CustomerInvoiceItem t in result) { m_command.CommandText = CustomerInvoice.GetByIDSQL(t.EVENT.ID); r = m_command.ExecuteReader(); t.EVENT = CustomerInvoice.TransformReader(r); r.Close(); m_command.CommandText = Part.GetByIDSQLStatic(t.PART.ID); r = m_command.ExecuteReader(); t.PART = Part.GetPart(r); r.Close(); m_command.CommandText = Unit.GetByIDSQLstatic(t.UNIT.ID); r = m_command.ExecuteReader(); t.UNIT = Unit.GetUnit(r); r.Close(); m_command.CommandText = TermOfPayment.GetByIDSQLStatic(((CustomerInvoice)t.EVENT).TOP.ID); r = m_command.ExecuteReader(); ((CustomerInvoice)t.EVENT).TOP = TermOfPayment.GetTOP(r); r.Close(); m_command.CommandText = Warehouse.GetByIDSQLStatic(t.WAREHOUSE.ID); r = m_command.ExecuteReader(); t.WAREHOUSE = Warehouse.GetWarehouse(r); r.Close(); m_command.CommandText = Unit.GetByIDSQLstatic(t.PART.UNIT.ID); r = m_command.ExecuteReader(); t.PART.UNIT = Unit.GetUnit(r); r.Close(); } return(result); }
protected override void doConfirm(Event events, Period p) { foreach (EventItem item in events.EVENT_ITEMS) { SetStockCard(item, p); } CustomerInvoice si = (CustomerInvoice)events; CustomerInvoiceJournal sij = new CustomerInvoiceJournal(); // sij.LastUpdate = DateTime.Now; // sij.ByTransaction = true; sij.CODE = si.CODE; //sij.ComputerName = si.ComputerName; sij.CURRENCY = si.CURRENCY; sij.EVENT_STATUS = EventStatus.Entry; sij.NOTES = si.NOTES; sij.NOTICE_DATE = si.NOTICE_DATE; sij.TRANSACTION_DATE = si.TRANSACTION_DATE; // sij.UserName = si.UserName; sij.VENDOR = si.CUSTOMER; sij.CUSTOMER_INVOICE = si; sij.NET_AMOUNT = si.NET_TOTAL; sij.EMPLOYEE = si.EMPLOYEE; sij.VENDOR_BALANCE_ENTRY_TYPE = VendorBalanceEntryType.CustomerInvoice; CustomerInvoiceJournalItem siji = new CustomerInvoiceJournalItem(); siji.AMOUNT = si.NET_TOTAL; siji.CURRENCY = si.CURRENCY; siji.EVENT_JOURNAL = sij; siji.VENDOR = si.CUSTOMER; siji.INVOICE_NO = si.CODE; siji.INVOICE_DATE = si.TRANSACTION_DATE; siji.TOP = si.TOP; siji.EMPLOYEE = si.EMPLOYEE; siji.DUE_DATE = si.DUE_DATE; siji.OUTSTANDING_AMOUNT = si.NET_TOTAL; siji.VENDOR_BALANCE_ENTRY_TYPE = VendorBalanceEntryType.CustomerInvoice; sij.EVENT_JOURNAL_ITEMS.Add(siji); r_sij.SaveNoTransaction(sij); r_sij.ConfirmNoTransaction(sij.ID); }
private void assertInvoiceAlreadyGenerated(DeliveryOrderItem item) { m_command.CommandText = CustomerInvoiceItem.GetDOUseByCustomerInvoice(item.ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList invs = CustomerInvoiceItem.TransformReaderList(r); r.Close(); foreach (CustomerInvoiceItem x in invs) { m_command.CommandText = CustomerInvoice.GetByIDSQL(x.EVENT.ID); r = m_command.ExecuteReader(); x.EVENT = CustomerInvoice.TransformReader(r); r.Close(); } if (invs.Count > 0) { throw new Exception("DO Part [" + item.PART.CODE + "] is used by Customer Invoice [" + ((CustomerInvoiceItem)invs[0]).EVENT.CODE + "], please delete customer invoice first."); } }
protected override void doSave(Event e) { MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); try { m_command.Transaction = trc; DateTime trDate = DateTime.Today; string codesample = AutoNumberSetupRepository.GetCodeSampleByDomainName(m_command, "CustomerInvoice"); Event codeDate = FindLastCodeAndTransactionDate(codesample); string lastCode = codeDate == null ? string.Empty : codeDate.CODE; DateTime lastDate = codeDate == null ? trDate : codeDate.TRANSACTION_DATE; int trCount = RecordCount(); e.CODE = AutoNumberSetupRepository.GetAutoNumberByDomainName(m_command, "CustomerInvoice", e.CODE, lastCode, lastDate, trDate, trCount == 0); CustomerInvoice stk = (CustomerInvoice)e; m_command.CommandText = e.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = CustomerInvoice.SelectMaxIDSQL(); stk.ID = Convert.ToInt32(m_command.ExecuteScalar()); foreach (CustomerInvoiceItem item in stk.EVENT_ITEMS) { item.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(m_command, item.PART.ID); m_command.CommandText = item.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = CustomerInvoiceItem.SelectMaxIDSQL(); item.ID = Convert.ToInt32(m_command.ExecuteScalar()); } trc.Commit(); } catch (Exception x) { e.ID = 0; foreach (EventItem item in e.EVENT_ITEMS) { item.ID = 0; } trc.Rollback(); throw x; } }
public static IList TransformReaderList(MySql.Data.MySqlClient.MySqlDataReader aReader) { IList result = new ArrayList(); while (aReader.Read()) { CustomerInvoice transaction = new CustomerInvoice(); transaction.ID = Convert.ToInt32(aReader["ci_id"]); transaction.TRANSACTION_DATE = Convert.ToDateTime(aReader["ci_date"]); transaction.NOTICE_DATE = Convert.ToDateTime(aReader["ci_noticedate"]); transaction.STOCK_CARD_ENTRY_TYPE = (StockCardEntryType)Enum.Parse(typeof(StockCardEntryType), aReader["ci_scentrytype"].ToString()); transaction.EMPLOYEE = new Employee(Convert.ToInt32(aReader["emp_id"])); transaction.NOTES = aReader["ci_notes"].ToString(); transaction.POSTED = Convert.ToBoolean(aReader["ci_posted"]); transaction.EVENT_STATUS = (EventStatus)Enum.Parse(typeof(EventStatus), aReader["ci_eventstatus"].ToString()); transaction.DIVISION = new Division(Convert.ToInt32(aReader["div_id"])); transaction.TOP = new TermOfPayment(Convert.ToInt32(aReader["top_id"])); transaction.DUE_DATE = Convert.ToDateTime(aReader["ci_duedate"]); transaction.CURRENCY = new Currency(Convert.ToInt32(aReader["ccy_id"])); transaction.SUB_TOTAL = Convert.ToDouble(aReader["ci_subtotal"]); transaction.DISC_PERCENT = Convert.ToDouble(aReader["ci_discpercent"]); transaction.DISC_AFTER_AMOUNT = Convert.ToDouble(aReader["ci_discafteramount"]); transaction.DISC_AMOUNT = Convert.ToDouble(aReader["ci_discamount"]); transaction.TAX = new Tax(Convert.ToInt32(aReader["tax_id"])); transaction.TAX_AFTER_AMOUNT = Convert.ToDouble(aReader["ci_taxafteramount"]); transaction.OTHER_EXPENSE = Convert.ToDouble(aReader["ci_otherexpense"]); transaction.NET_TOTAL = Convert.ToDouble(aReader["ci_nettotal"]); transaction.CODE = aReader["ci_code"].ToString(); transaction.CUSTOMER = new Customer(Convert.ToInt32(aReader["cus_id"])); transaction.DOCUMENT_NO = aReader["ci_docno"].ToString(); transaction.DOCUMENT_DATE = Convert.ToDateTime(aReader["ci_docdate"]); transaction.VENDOR = transaction.CUSTOMER; transaction.MODIFIED_BY = aReader["modified_by"].ToString(); transaction.MODIFIED_DATE = Convert.ToDateTime(aReader["modified_date"].ToString()); transaction.MODIFIED_COMPUTER_NAME = aReader["modified_computer"].ToString(); result.Add(transaction); } return(result); }
protected override void doDelete(Event e) { CustomerInvoice st = (CustomerInvoice)e; MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { if (getEventStatus(st.ID) == EventStatus.Confirm) { throw new Exception("Revise before delete"); } m_command.CommandText = CustomerInvoiceItem.DeleteAllByEventSQL(st.ID); m_command.ExecuteNonQuery(); m_command.CommandText = CustomerInvoice.DeleteSQL(st.ID); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
protected override void doUpdate(Event en) { MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { CustomerInvoice e = (CustomerInvoice)en; m_command.CommandText = e.GetUpdateSQL(); m_command.ExecuteNonQuery(); foreach (CustomerInvoiceItem sti in e.EVENT_ITEMS) { sti.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(m_command, sti.PART.ID); if (sti.ID > 0) { m_command.CommandText = sti.GetUpdateSQL(); m_command.ExecuteNonQuery(); } else { m_command.CommandText = sti.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = CustomerInvoiceItem.SelectMaxIDSQL(); sti.ID = Convert.ToInt32(m_command.ExecuteScalar()); } } m_command.CommandText = CustomerInvoiceItem.DeleteUpdate(e.ID, e.EVENT_ITEMS); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
protected override void doUpdateStatus(Event e, bool posted) { m_command.CommandText = CustomerInvoice.GetUpdateStatusSQL(e); m_command.ExecuteNonQuery(); }
public IList GetAllTransactions(int supID) { ArrayList result = new ArrayList(); OpenConnection(); MySql.Data.MySqlClient.MySqlDataReader r; m_cmd.CommandText = SalesOrder.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList po = SalesOrder.TransformReaderList(r); r.Close(); foreach (Event e in po) { result.Add(e); } m_cmd.CommandText = DeliveryOrder.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList grn = DeliveryOrder.TransformReaderList(r); r.Close(); foreach (Event e in grn) { result.Add(e); } m_cmd.CommandText = CustomerInvoice.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList si = CustomerInvoice.TransformReaderList(r); r.Close(); foreach (Event e in si) { result.Add(e); } m_cmd.CommandText = POS.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList pos = POS.TransformReaderList(r); r.Close(); foreach (Event e in pos) { result.Add(e); } m_cmd.CommandText = SalesReturn.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList pr = SalesReturn.TransformReaderList(r); r.Close(); foreach (Event e in pr) { result.Add(e); } m_cmd.CommandText = ARCreditNote.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList apdn = ARCreditNote.TransformReaderList(r); r.Close(); foreach (EventJournal e in apdn) { result.Add(e); } m_cmd.CommandText = Receipt.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList py = Receipt.TransformReaderList(r); r.Close(); foreach (EventJournal e in py) { result.Add(e); } m_cmd.CommandText = CustomerOutStandingInvoice.GetByCustomerSQL(supID); r = m_cmd.ExecuteReader(); IList soi = CustomerOutStandingInvoice.TransformReaderList(r); r.Close(); foreach (EventJournal e in soi) { result.Add(e); } result.Sort(new EventDateComparer()); return(result); }