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; }
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; }