Example #1
0
        public bool UpdateData(string userID, PurchaseRequestData data)
        {
            bool ret = true;
            if (ValidateData(data))
            {
                OracleDBObj obj = new OracleDBObj();
                obj.CreateConnection();
                obj.CreateTransaction();
                try
                {
                    DALObj.OnDB = false;
                    DALObj.GetDataByLOID(data.LOID, obj.zTrans);

                    DALObj.CODE = data.CODE;
                    DALObj.REQUESTDATE = data.REQUSETDATE;
                    DALObj.ORDERTYPE = data.ORDERTYPE;
                    DALObj.PURCHASETYPE = data.PURCHASETYPE;
                    DALObj.REQUESTBY = data.REQUESTBY;
                    DALObj.DIVISION = data.DIVISION;
                    DALObj.APPROVER = data.APPROVER;
                    if (data.APPROVEDATE.Year != 1)
                    {
                        DALObj.APPROVEDATE = data.APPROVEDATE;
                    }
                    DALObj.APPROVE = data.APPROVE;
                    DALObj.ACTIVE = data.ACTIVE;
                    DALObj.STATUS = data.STATUS;
                    DALObj.REQUIREMENT = data.REQUIREMENT;
                    DALObj.REASON = data.REASON;
                    DALObj.REMARK = data.REMARK;
                    DALObj.FROMCOMPANY = data.FROMCOMPANY;

                    if (DALObj.OnDB)
                        ret = DALObj.UpdateCurrentData(userID, obj.zTrans);
                    else
                        ret = DALObj.InsertCurrentData(userID, obj.zTrans);

                    _LOID = DALObj.LOID;
                    if (!ret)
                    {
                        throw new ApplicationException(DALObj.ErrorMessage);
                    }

                    PRItemDAL itemDAL = new PRItemDAL();
                    itemDAL.DeleteDataByPDRequest(data.LOID, obj.zTrans);
                    for (Int16 i = 0; i < data.ITEM.Count; ++i)
                    {
                        PRItemData item = (PRItemData)data.ITEM[i];
                        itemDAL.PRODUCT = item.PRODUCT;
                        itemDAL.PDREQUEST = DALObj.LOID;
                        itemDAL.QTY = item.QTY;
                        itemDAL.UNIT = item.UNIT;
                        itemDAL.MINSTOCK = item.MINSTOCK;
                        itemDAL.MAXSTOCK = item.MAXSTOCK;
                        itemDAL.STOCK = item.STOCK;
                        itemDAL.OLDPRICE = item.OLDPRICE;
                        itemDAL.CURPRICE = item.CURPRICE;
                        itemDAL.MINPRICE = item.MINPRICE;
                        itemDAL.LAST3MON = item.LAST3MON;
                        itemDAL.LASTYEAR = item.LASTYEAR;
                        itemDAL.DUEDATE = item.DUEDATE;
                        itemDAL.ACTIVE = item.ACTIVE;
                        itemDAL.URGENT = item.URGENT;
                        itemDAL.ISMATERIAL = item.ISMATERIAL;

                        itemDAL.OnDB = false;
                        ret = itemDAL.InsertCurrentData(userID, obj.zTrans);
                        if (!ret) throw new ApplicationException(itemDAL.ErrorMessage);
                    }
                    obj.zTrans.Commit();
                    obj.CloseConnection();
                }
                catch (Exception ex)
                {
                    obj.zTrans.Rollback();
                    obj.CloseConnection();
                    ret = false;
                    _error = ex.Message;
                }
            }
            else
                ret = false;
            return ret;
        }
Example #2
0
        private bool NewPDRequest(string UserID, ToDoListMinimumStockRequestData data)
        {
            bool ret = true;
            OracleDBObj obj = new OracleDBObj();
            obj.CreateConnection();
            obj.CreateTransaction();
            try
            {
                PDRequestDAL _DAL = new PDRequestDAL();
                _DAL.OnDB = false;
                _DAL.REQUESTDATE = DateTime.Now.Date;
                _DAL.ORDERTYPE = data.ORDERTYPE;
                _DAL.REQUESTBY = data.REQUESTBY;
                _DAL.DIVISION = data.DIVISION;
                _DAL.ACTIVE = data.ACTIVE;
                _DAL.STATUS = data.STATUS;
                //_DAL

                ret = _DAL.InsertCurrentData(UserID, obj.zTrans);
                if (!ret)
                {
                    throw new ApplicationException(_DAL.ErrorMessage);
                }
                PRItemDAL _DALItem = new PRItemDAL();
                for (int i = 0; i < data.ITEM.Count; ++i)
                {
                    _DALItem.OnDB = false;
                    ToDoListMinimumStockRequestItemData itemData = (ToDoListMinimumStockRequestItemData)data.ITEM[i];
                    _DALItem.PDREQUEST = _DAL.LOID;
                    _DALItem.PRODUCT = itemData.PRODUCT;
                    _DALItem.QTY = itemData.QTY;
                    DataTable dt = GetProduct(itemData.PRODUCT);
                    _DALItem.STATUS = data.STATUS;
                    _DALItem.UNIT = Convert.ToDouble(dt.Rows[0]["UNIT"]);
                    _DALItem.MINPRICE = Convert.ToDouble(dt.Rows[0]["MINPRICE"]);
                    _DALItem.OLDPRICE = Convert.ToDouble(dt.Rows[0]["LASTPRICE"]);
                    _DALItem.MINSTOCK = Convert.ToDouble(dt.Rows[0]["MIN"]);
                    _DALItem.MAXSTOCK = Convert.ToDouble(dt.Rows[0]["MAX"]);
                    _DALItem.STOCK = Convert.ToDouble(dt.Rows[0]["STOCK"]);
                    _DALItem.LAST3MON = Convert.ToDouble(dt.Rows[0]["USED3MONTH"]);
                    _DALItem.LASTYEAR = Convert.ToDouble(dt.Rows[0]["USED12MONTH"]);
                    _DALItem.DUEDATE = Convert.ToDateTime(dt.Rows[0]["DUEDATE"]);
                    ret = _DALItem.InsertCurrentData(UserID, obj.zTrans);
                    if (!ret)
                    {
                        throw new ApplicationException(_DALItem.ErrorMessage);
                    }
                }

                _LOID = _DAL.LOID;

                obj.zTrans.Commit();
                obj.CloseConnection();
            }
            catch (Exception ex)
            {
                obj.zTrans.Rollback();
                obj.CloseConnection();
                ret = false;
                _error = ex.Message;
            }

            return ret;

        }