public static IList TransformReaderList(MySql.Data.MySqlClient.MySqlDataReader aReader) { IList result = new ArrayList(); while (aReader.Read()) { StockTaking transaction = new StockTaking(); transaction.ID = Convert.ToInt32(aReader["stk_id"]); transaction.TRANSACTION_DATE = Convert.ToDateTime(aReader["stk_date"]); transaction.NOTICE_DATE = Convert.ToDateTime(aReader["stk_noticedate"]); transaction.STOCK_CARD_ENTRY_TYPE = (StockCardEntryType)Enum.Parse(typeof(StockCardEntryType), aReader["stk_scentrytype"].ToString()); transaction.EMPLOYEE = new Employee(Convert.ToInt32(aReader["emp_id"])); transaction.NOTES = aReader["stk_notes"].ToString(); transaction.POSTED = Convert.ToBoolean(aReader["stk_posted"]); transaction.EVENT_STATUS = (EventStatus)Enum.Parse(typeof(EventStatus), aReader["stk_eventstatus"].ToString()); transaction.WAREHOUSE = new Warehouse(Convert.ToInt32(aReader["warehouse_id"])); transaction.AMOUNT = Convert.ToDouble(Convert.ToInt32(aReader["stk_amount"])); transaction.CURRENCY = new Currency(Convert.ToInt32(aReader["ccy_id"])); transaction.STOCK_TAKING_TYPE = (StockTakingType)Enum.Parse(typeof(StockTakingType), aReader["stk_stocktakingtype"].ToString()); transaction.CODE = aReader["stk_code"].ToString(); 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); }
public int RecordCount() { m_command.CommandText = StockTaking.RecordCount(); int result = Convert.ToInt32(m_command.ExecuteScalar()); return(result); }
protected override void doUpdate(Event en) { MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { StockTaking e = (StockTaking)en; m_command.CommandText = e.GetUpdateSQL(); m_command.ExecuteNonQuery(); foreach (StockTakingItems sti in e.EVENT_ITEMS) { if (sti.ID > 0) { m_command.CommandText = sti.GetUpdateSQL(); m_command.ExecuteNonQuery(); } else { m_command.CommandText = sti.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = StockTakingItems.SelectMaxIDSQL(); sti.ID = Convert.ToInt32(m_command.ExecuteScalar()); } } m_command.CommandText = StockTakingItems.DeleteUpdate(e.ID, e.EVENT_ITEMS); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
private EventStatus getEventStatus(int id) { m_command.CommandText = StockTaking.GetEventStatus(id); object b = m_command.ExecuteScalar(); EventStatus m = (EventStatus)Enum.Parse(typeof(EventStatus), b.ToString()); return(m); }
public static StockTaking GetHeaderOnly(MySql.Data.MySqlClient.MySqlCommand cmd, int poID) { cmd.CommandText = StockTaking.GetByIDSQL(poID); MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); StockTaking st = StockTaking.TransformReader(r); r.Close(); return(st); }
public override Event FindLastCodeAndTransactionDate(string codesample) { m_command.CommandText = StockTaking.FindLastCodeAndTransactionDate(codesample); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); Event e = StockTaking.TransformReader(r); r.Close(); return(e); }
protected override bool doIsCodeExist(string code) { try { m_command.CommandText = StockTaking.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 = StockTaking.GetSearch(find); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList rest = StockTaking.TransformReaderList(r); r.Close(); return(rest); } catch (Exception x) { throw x; } }
protected override Event doGet(int ID) { m_command.CommandText = StockTaking.GetByIDSQL(ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); StockTaking st = StockTaking.TransformReader(r); r.Close(); m_command.CommandText = StockTakingItems.GetByEventIDSQL(ID); r = m_command.ExecuteReader(); IList stis = StockTakingItems.TransformReaderList(r); r.Close(); foreach (StockTakingItems 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); st.EVENT_ITEMS.Add(sti); } return(st); }
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, "StockTaking"); 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, "StockTaking", e.CODE, lastCode, lastDate, trDate, trCount == 0); StockTaking stk = (StockTaking)e; m_command.CommandText = e.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = StockTaking.SelectMaxIDSQL(); stk.ID = Convert.ToInt32(m_command.ExecuteScalar()); foreach (StockTakingItems item in stk.EVENT_ITEMS) { m_command.CommandText = item.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = StockTakingItems.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) { StockTaking st = (StockTaking)e;//this.Get(e.ID); 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 = StockTakingItems.DeleteAllByEventSQL(st.ID); m_command.ExecuteNonQuery(); m_command.CommandText = StockTaking.DeleteSQL(st.ID); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
protected override void doUpdateStatus(Event e, bool posted) { m_command.CommandText = StockTaking.GetUpdateStatusSQL(e); m_command.ExecuteNonQuery(); }