Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public int RecordCount()
        {
            m_command.CommandText = StockTaking.RecordCount();
            int result = Convert.ToInt32(m_command.ExecuteScalar());

            return(result);
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 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;
     }
 }
Esempio n. 8
0
 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;
     }
 }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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;
            }
        }
Esempio n. 11
0
        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;
            }
        }
Esempio n. 12
0
 protected override void doUpdateStatus(Event e, bool posted)
 {
     m_command.CommandText = StockTaking.GetUpdateStatusSQL(e);
     m_command.ExecuteNonQuery();
 }