protected override Event doGet(int ID) { m_command.CommandText = SupplierInvoice.GetByIDSQL(ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); SupplierInvoice st = SupplierInvoice.TransformReader(r); r.Close(); m_command.CommandText = SupplierInvoiceItem.GetByEventIDSQL(ID); r = m_command.ExecuteReader(); IList stis = SupplierInvoiceItem.TransformReaderList(r); r.Close(); foreach (SupplierInvoiceItem 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.GRN_ITEM.ID > 0) { sti.GRN_ITEM = GoodReceiveNoteRepository.FindGoodReceiveNoteItem(m_command, sti.GRN_ITEM.ID); } st.EVENT_ITEMS.Add(sti); } return(st); }
public int RecordCount() { m_command.CommandText = SupplierInvoice.RecordCount(); int result = Convert.ToInt32(m_command.ExecuteScalar()); return(result); }
private EventStatus getEventStatus(int id) { m_command.CommandText = SupplierInvoice.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 = SupplierInvoice.FindLastCodeAndTransactionDate(codesample); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); Event e = SupplierInvoice.TransformReader(r); r.Close(); return(e); }
public static SupplierInvoice GetHeaderOnly(MySql.Data.MySqlClient.MySqlCommand cmd, int poID) { cmd.CommandText = SupplierInvoice.GetByIDSQL(poID); MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); SupplierInvoice st = SupplierInvoice.TransformReader(r); r.Close(); return(st); }
protected override bool doIsCodeExist(string code) { try { m_command.CommandText = SupplierInvoice.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 = SupplierInvoice.GetSearch(find); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList rest = SupplierInvoice.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 = SupplierInvoiceItem.GetSearchByPartAndPONo(find, supplierID, pois, trDate); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList result = SupplierInvoiceItem.TransformReaderList(r); r.Close(); foreach (SupplierInvoiceItem t in result) { m_command.CommandText = SupplierInvoice.GetByIDSQL(t.EVENT.ID); r = m_command.ExecuteReader(); t.EVENT = SupplierInvoice.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(((SupplierInvoice)t.EVENT).TOP.ID); r = m_command.ExecuteReader(); ((SupplierInvoice)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); } SupplierInvoice si = (SupplierInvoice)events; SupplierInvoiceJournal sij = new SupplierInvoiceJournal(); // 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.SUPPLIER; sij.SUPPLIER_INVOICE = si; sij.NET_AMOUNT = si.NET_TOTAL; sij.EMPLOYEE = si.EMPLOYEE; sij.VENDOR_BALANCE_ENTRY_TYPE = VendorBalanceEntryType.SupplierInvoice; SupplierInvoiceJournalItem siji = new SupplierInvoiceJournalItem(); siji.AMOUNT = si.NET_TOTAL; siji.CURRENCY = si.CURRENCY; siji.EVENT_JOURNAL = sij; siji.VENDOR = si.SUPPLIER; 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.SupplierInvoice; sij.EVENT_JOURNAL_ITEMS.Add(siji); r_sij.SaveNoTransaction(sij); r_sij.ConfirmNoTransaction(sij.ID); }
private void assertInvoiceAlreadyGenerated(GoodReceiveNoteItem item) { m_command.CommandText = SupplierInvoiceItem.GetGRNUseBySupplierInvoice(item.ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList invs = SupplierInvoiceItem.TransformReaderList(r); r.Close(); foreach (SupplierInvoiceItem x in invs) { m_command.CommandText = SupplierInvoice.GetByIDSQL(x.EVENT.ID); r = m_command.ExecuteReader(); x.EVENT = SupplierInvoice.TransformReader(r); r.Close(); } if (invs.Count > 0) { throw new Exception("GRN Part [" + item.PART.CODE + "] is used by Supplier Invoice [" + ((SupplierInvoiceItem)invs[0]).EVENT.CODE + "], please delete supplier invoice first."); } }
public static IList TransformReaderList(MySql.Data.MySqlClient.MySqlDataReader aReader) { IList result = new ArrayList(); while (aReader.Read()) { SupplierInvoice transaction = new SupplierInvoice(); transaction.ID = Convert.ToInt32(aReader["si_id"]); transaction.TRANSACTION_DATE = Convert.ToDateTime(aReader["si_date"]); transaction.NOTICE_DATE = Convert.ToDateTime(aReader["si_noticedate"]); transaction.STOCK_CARD_ENTRY_TYPE = (StockCardEntryType)Enum.Parse(typeof(StockCardEntryType), aReader["si_scentrytype"].ToString()); transaction.EMPLOYEE = new Employee(Convert.ToInt32(aReader["emp_id"])); transaction.NOTES = aReader["si_notes"].ToString(); transaction.POSTED = Convert.ToBoolean(aReader["si_posted"]); transaction.EVENT_STATUS = (EventStatus)Enum.Parse(typeof(EventStatus), aReader["si_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["si_duedate"]); transaction.CURRENCY = new Currency(Convert.ToInt32(aReader["ccy_id"])); transaction.SUB_TOTAL = Convert.ToDouble(aReader["si_subtotal"]); transaction.DISC_PERCENT = Convert.ToDouble(aReader["si_discpercent"]); transaction.DISC_AFTER_AMOUNT = Convert.ToDouble(aReader["si_discafteramount"]); transaction.DISC_AMOUNT = Convert.ToDouble(aReader["si_discamount"]); transaction.TAX = new Tax(Convert.ToInt32(aReader["tax_id"])); transaction.TAX_AFTER_AMOUNT = Convert.ToDouble(aReader["si_taxafteramount"]); transaction.OTHER_EXPENSE = Convert.ToDouble(aReader["si_otherexpense"]); transaction.NET_TOTAL = Convert.ToDouble(aReader["si_nettotal"]); transaction.CODE = aReader["si_code"].ToString(); transaction.SUPPLIER = new Supplier(Convert.ToInt32(aReader["sup_id"])); transaction.DOCUMENT_NO = aReader["si_docno"].ToString(); transaction.DOCUMENT_DATE = Convert.ToDateTime(aReader["si_docdate"]); transaction.VENDOR = transaction.SUPPLIER; 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 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, "SupplierInvoice"); 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, "SupplierInvoice", e.CODE, lastCode, lastDate, trDate, trCount == 0); SupplierInvoice stk = (SupplierInvoice)e; m_command.CommandText = e.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = SupplierInvoice.SelectMaxIDSQL(); stk.ID = Convert.ToInt32(m_command.ExecuteScalar()); foreach (SupplierInvoiceItem 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 = SupplierInvoiceItem.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; } }
protected override void doDelete(Event e) { SupplierInvoice st = (SupplierInvoice)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 = SupplierInvoiceItem.DeleteAllByEventSQL(st.ID); m_command.ExecuteNonQuery(); m_command.CommandText = SupplierInvoice.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 { SupplierInvoice e = (SupplierInvoice)en; m_command.CommandText = e.GetUpdateSQL(); m_command.ExecuteNonQuery(); foreach (SupplierInvoiceItem 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 = SupplierInvoiceItem.SelectMaxIDSQL(); sti.ID = Convert.ToInt32(m_command.ExecuteScalar()); } } m_command.CommandText = SupplierInvoiceItem.DeleteUpdate(e.ID, e.EVENT_ITEMS); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
public IList GetAllTransactions(int supID) { ArrayList result = new ArrayList(); OpenConnection(); MySql.Data.MySqlClient.MySqlDataReader r; m_cmd.CommandText = PurchaseOrder.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList po = PurchaseOrder.TransformReaderList(r); r.Close(); foreach (Event e in po) { result.Add(e); } m_cmd.CommandText = GoodReceiveNote.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList grn = GoodReceiveNote.TransformReaderList(r); r.Close(); foreach (Event e in grn) { result.Add(e); } m_cmd.CommandText = SupplierInvoice.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList si = SupplierInvoice.TransformReaderList(r); r.Close(); foreach (Event e in si) { result.Add(e); } m_cmd.CommandText = PurchaseReturn.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList pr = PurchaseReturn.TransformReaderList(r); r.Close(); foreach (Event e in pr) { result.Add(e); } m_cmd.CommandText = APDebitNote.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList apdn = APDebitNote.TransformReaderList(r); r.Close(); foreach (EventJournal e in apdn) { result.Add(e); } m_cmd.CommandText = Payment.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList py = Payment.TransformReaderList(r); r.Close(); foreach (EventJournal e in py) { result.Add(e); } m_cmd.CommandText = SupplierOutStandingInvoice.GetBySupplierSQL(supID); r = m_cmd.ExecuteReader(); IList soi = SupplierOutStandingInvoice.TransformReaderList(r); r.Close(); foreach (EventJournal e in soi) { result.Add(e); } result.Sort(new EventDateComparer()); return(result); }
protected override void doUpdateStatus(Event e, bool posted) { m_command.CommandText = SupplierInvoice.GetUpdateStatusSQL(e); m_command.ExecuteNonQuery(); }