Ejemplo n.º 1
0
        public static PurchaseReturn TransformReader(MySql.Data.MySqlClient.MySqlDataReader aReader)
        {
            PurchaseReturn transaction = null;

            if (aReader.HasRows)
            {
                aReader.Read();
                transaction    = new PurchaseReturn();
                transaction.ID = Convert.ToInt32(aReader["prn_id"]);
                transaction.TRANSACTION_DATE      = Convert.ToDateTime(aReader["prn_date"]);
                transaction.NOTICE_DATE           = Convert.ToDateTime(aReader["prn_noticedate"]);
                transaction.STOCK_CARD_ENTRY_TYPE = (StockCardEntryType)Enum.Parse(typeof(StockCardEntryType), aReader["prn_scentrytype"].ToString());
                transaction.EMPLOYEE               = new Employee(Convert.ToInt32(aReader["emp_id"]));
                transaction.NOTES                  = aReader["prn_notes"].ToString();
                transaction.POSTED                 = Convert.ToBoolean(aReader["prn_posted"]);
                transaction.EVENT_STATUS           = (EventStatus)Enum.Parse(typeof(EventStatus), aReader["prn_eventstatus"].ToString());
                transaction.CODE                   = aReader["prn_code"].ToString();
                transaction.SUPPLIER               = new Supplier(Convert.ToInt32(aReader["sup_id"]));
                transaction.DOCUMENT_NO            = aReader["prn_docno"].ToString();
                transaction.DOCUMENT_DATE          = Convert.ToDateTime(aReader["prn_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();
            }
            return(transaction);
        }
Ejemplo n.º 2
0
        protected override void doDelete(Event e)
        {
            PurchaseReturn st = (PurchaseReturn)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 = APDebitNoteItem.GetPRUsedByAPDN(st.ID);
                int count = Convert.ToInt32(m_command.ExecuteScalar());
                if (count > 0)
                {
                    throw new Exception("Can not delete this Purchase Return, this Purchase Return used by APDN");
                }

                m_command.CommandText = PurchaseReturnItem.DeleteAllByEventSQL(st.ID);
                m_command.ExecuteNonQuery();
                m_command.CommandText = PurchaseReturn.DeleteSQL(st.ID);
                m_command.ExecuteNonQuery();
                trc.Commit();
            }
            catch (Exception x)
            {
                trc.Rollback();
                throw x;
            }
        }
Ejemplo n.º 3
0
        public int RecordCount()
        {
            m_command.CommandText = PurchaseReturn.RecordCount();
            int result = Convert.ToInt32(m_command.ExecuteScalar());

            return(result);
        }
Ejemplo n.º 4
0
        private EventStatus getEventStatus(int id)
        {
            m_command.CommandText = PurchaseReturn.GetEventStatus(id);
            object      b = m_command.ExecuteScalar();
            EventStatus m = (EventStatus)Enum.Parse(typeof(EventStatus), b.ToString());

            return(m);
        }
Ejemplo n.º 5
0
        public override Event FindLastCodeAndTransactionDate(string codesample)
        {
            m_command.CommandText = PurchaseReturn.FindLastCodeAndTransactionDate(codesample);
            MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader();
            Event e = PurchaseReturn.TransformReader(r);

            r.Close();
            return(e);
        }
Ejemplo n.º 6
0
        public static PurchaseReturn GetHeaderOnly(MySql.Data.MySqlClient.MySqlCommand cmd, int prnID)
        {
            cmd.CommandText = PurchaseReturn.GetByIDSQL(prnID);
            MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader();
            PurchaseReturn st = PurchaseReturn.TransformReader(r);

            r.Close();
            return(st);
        }
Ejemplo n.º 7
0
 protected override bool doIsCodeExist(string code)
 {
     try
     {
         m_command.CommandText = PurchaseReturn.SelectCountByCode(code);
         int t = Convert.ToInt32(m_command.ExecuteScalar());
         return(t > 0);
     }
     catch (Exception x)
     {
         throw x;
     }
 }
Ejemplo n.º 8
0
        protected override void doUpdate(Event en)
        {
            MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction();
            m_command.Transaction = trc;
            try
            {
                PurchaseReturn e = (PurchaseReturn)en;
                m_command.CommandText = e.GetUpdateSQL();
                m_command.ExecuteNonQuery();

                foreach (PurchaseReturnItem 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 = PurchaseReturnItem.SelectMaxIDSQL();
                        sti.ID = Convert.ToInt32(m_command.ExecuteScalar());
                    }
                }
                m_command.CommandText = PurchaseReturnItem.DeleteUpdate(e.ID, e.EVENT_ITEMS);
                m_command.ExecuteNonQuery();
                //m_command.CommandText = PurchaseReturnItem.GetByEventIDSQL(e.ID);
                //MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader();
                //IList luc = PurchaseReturnItem.TransformReaderList(r);
                //r.Close();
                //foreach (PurchaseReturnItem chk in luc)
                //{
                //    chk.UPDATED = e.EVENT_ITEMS.Contains(chk);
                //}
                //foreach (PurchaseReturnItem chk in luc)
                //{
                //    if (!chk.UPDATED)
                //    {
                //        m_command.CommandText = PurchaseReturnItem.DeleteSQL(chk.ID);
                //        m_command.ExecuteNonQuery();
                //    }
                //}
                trc.Commit();
            }
            catch (Exception x)
            {
                trc.Rollback();
                throw x;
            }
        }
Ejemplo n.º 9
0
 protected override IList doSearch(string find)
 {
     try
     {
         m_command.CommandText = PurchaseReturn.GetSearch(find);
         MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader();
         IList rest = PurchaseReturn.TransformReaderList(r);
         r.Close();
         return(rest);
     }
     catch (Exception x)
     {
         throw x;
     }
 }
Ejemplo n.º 10
0
        public static PurchaseReturnItem FindGRNItem(MySql.Data.MySqlClient.MySqlCommand cmd, int grnIID)
        {
            cmd.CommandText = PurchaseReturnItem.FindByGrnItemIDSQL(grnIID);
            MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader();
            PurchaseReturnItem res = PurchaseReturnItem.TransformReader(r);

            r.Close();
            if (res == null)
            {
                return(null);
            }
            cmd.CommandText = PurchaseReturn.GetByIDSQL(res.EVENT.ID);
            r         = cmd.ExecuteReader();
            res.EVENT = PurchaseReturn.TransformReader(r);
            r.Close();
            return(res);
        }
Ejemplo n.º 11
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, "PurchaseReturn");
                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, "PurchaseReturn", e.CODE, lastCode, lastDate, trDate, trCount == 0);

                PurchaseReturn stk = (PurchaseReturn)e;
                m_command.CommandText = e.GetInsertSQL();
                m_command.ExecuteNonQuery();
                m_command.CommandText = PurchaseReturn.SelectMaxIDSQL();
                stk.ID = Convert.ToInt32(m_command.ExecuteScalar());
                foreach (PurchaseReturnItem item in stk.EVENT_ITEMS)
                {
                    m_command.CommandText = item.GetInsertSQL();
                    m_command.ExecuteNonQuery();
                    m_command.CommandText = PurchaseReturnItem.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;
            }
        }
Ejemplo n.º 12
0
        protected override Event doGet(int ID)
        {
            m_command.CommandText = PurchaseReturn.GetByIDSQL(ID);
            MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader();
            PurchaseReturn st = PurchaseReturn.TransformReader(r);

            r.Close();
            m_command.CommandText = PurchaseReturnItem.GetByEventIDSQL(ID);
            r = m_command.ExecuteReader();
            IList stis = PurchaseReturnItem.TransformReaderList(r);

            r.Close();
            foreach (PurchaseReturnItem 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);
                sti.GRN_ITEM         = GoodReceiveNoteRepository.FindGoodReceiveNoteItem(m_command, sti.GRN_ITEM.ID);
                sti.GRN_ITEM.PART    = PartRepository.GetByID(m_command, sti.GRN_ITEM.PART.ID);
                st.EVENT_ITEMS.Add(sti);
            }
            return(st);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        public static PurchaseReturn GetPurchaseReturnForDebitNote(MySql.Data.MySqlClient.MySqlCommand cmd, PurchaseReturn p)
        {
            cmd.CommandText = PurchaseReturnItem.GetByEventIDSQL(p.ID);
            MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader();
            p.EVENT_ITEMS = PurchaseReturnItem.TransformReaderList(r);
            r.Close();

            foreach (PurchaseReturnItem t in p.EVENT_ITEMS)
            {
                if ((t.GRN_ITEM == null) && (t.GRN_ITEM.ID == 0))
                {
                    continue;
                }


                cmd.CommandText = GoodReceiveNoteItem.GetByIDSQL(t.GRN_ITEM.ID);
                r          = cmd.ExecuteReader();
                t.GRN_ITEM = GoodReceiveNoteItem.TransformReader(r);
                r.Close();

                if ((t.GRN_ITEM.PO_ITEM == null))
                {
                    continue;
                }
                if (t.GRN_ITEM.PO_ITEM.ID == 0)
                {
                    continue;
                }

                cmd.CommandText = PurchaseOrderItem.GetByIDSQL(t.GRN_ITEM.PO_ITEM.ID);
                r = cmd.ExecuteReader();
                t.GRN_ITEM.PO_ITEM = PurchaseOrderItem.TransformReader(r);
                r.Close();

                t.GRN_ITEM.PART = PartRepository.GetByID(cmd, t.GRN_ITEM.PART.ID);
                t.GRN_ITEM.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(cmd, t.GRN_ITEM.PO_ITEM.PART.ID);
                t.PART = t.GRN_ITEM.PO_ITEM.PART = t.GRN_ITEM.PART;

                double subamount = (t.GRN_ITEM.PO_ITEM.SUBTOTAL / t.GRN_ITEM.PO_ITEM.GetAmountInSmallestUnit()) * t.GetAmountInSmallestUnit();
                p.TOTAL_AMOUNT_FROM_PO += subamount;

                t.GRN_ITEM.PO_ITEM.EVENT = PurchaseOrderRepository.GetHeaderOnly(cmd, t.GRN_ITEM.PO_ITEM.EVENT.ID);
                p.CURRENCY = ((PurchaseOrder)t.GRN_ITEM.PO_ITEM.EVENT).CURRENCY;
            }
            return(p);
        }
Ejemplo n.º 15
0
        public IList FindPRForAPDebitNote(string find, int supID, DateTime trdate, IList added)
        {
            m_command.CommandText = APDebitNoteItem.GetPRUsedByAPDN();
            MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader();
            if (r.HasRows)
            {
                while (r.Read())
                {
                    int id = Convert.ToInt32(r[0]);
                    if (!added.Contains(id))
                    {
                        added.Add(id);
                    }
                }
            }
            r.Close();
            StringBuilder poisSB = new StringBuilder();

            foreach (int i in added)
            {
                poisSB.Append(i.ToString());
                poisSB.Append(',');
            }
            string pois = poisSB.ToString();

            pois = added.Count > 0 ? pois.Substring(0, pois.Length - 1) : "";

            m_command.CommandText = PurchaseReturn.GetSearchPRNoForAPDN(find, supID, pois, trdate);
            r = m_command.ExecuteReader();
            IList result = PurchaseReturn.TransformReaderList(r);

            r.Close();
            foreach (PurchaseReturn p in result)
            {
                m_command.CommandText = PurchaseReturnItem.GetByEventIDSQL(p.ID);
                r             = m_command.ExecuteReader();
                p.EVENT_ITEMS = PurchaseReturnItem.TransformReaderList(r);
                r.Close();

                foreach (PurchaseReturnItem t in p.EVENT_ITEMS)
                {
                    if ((t.GRN_ITEM == null) && (t.GRN_ITEM.ID == 0))
                    {
                        continue;
                    }


                    m_command.CommandText = GoodReceiveNoteItem.GetByIDSQL(t.GRN_ITEM.ID);
                    r          = m_command.ExecuteReader();
                    t.GRN_ITEM = GoodReceiveNoteItem.TransformReader(r);
                    r.Close();

                    if ((t.GRN_ITEM.PO_ITEM == null))
                    {
                        continue;
                    }
                    if (t.GRN_ITEM.PO_ITEM.ID == 0)
                    {
                        continue;
                    }

                    m_command.CommandText = PurchaseOrderItem.GetByIDSQL(t.GRN_ITEM.PO_ITEM.ID);
                    r = m_command.ExecuteReader();
                    t.GRN_ITEM.PO_ITEM = PurchaseOrderItem.TransformReader(r);
                    r.Close();

                    t.GRN_ITEM.PART = PartRepository.GetByID(m_command, t.GRN_ITEM.PART.ID);
                    t.GRN_ITEM.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(m_command, t.GRN_ITEM.PO_ITEM.PART.ID);
                    t.PART = t.GRN_ITEM.PO_ITEM.PART = t.GRN_ITEM.PART;

                    double subamount = (t.GRN_ITEM.PO_ITEM.SUBTOTAL / t.GRN_ITEM.PO_ITEM.GetAmountInSmallestUnit()) * t.GetAmountInSmallestUnit();
                    p.TOTAL_AMOUNT_FROM_PO += subamount;

                    t.GRN_ITEM.PO_ITEM.EVENT = PurchaseOrderRepository.GetHeaderOnly(m_command, t.GRN_ITEM.PO_ITEM.EVENT.ID);
                    p.CURRENCY = ((PurchaseOrder)t.GRN_ITEM.PO_ITEM.EVENT).CURRENCY;
                }
            }
            return(result);
        }
Ejemplo n.º 16
0
 protected override void doUpdateStatus(Event e, bool posted)
 {
     m_command.CommandText = PurchaseReturn.GetUpdateStatusSQL(e);
     m_command.ExecuteNonQuery();
 }