public bool SetInvoiceCode(string userID, double requisition) { bool ret = true; OracleDBObj obj = new OracleDBObj(); obj.CreateConnection(); obj.CreateTransaction(); try { RequisitionDAL reqDAL = new RequisitionDAL(); reqDAL.GetDataByLOID(requisition, obj.zTrans); if (reqDAL.INVCODE == "") { reqDAL.INVCODE = OracleDB.GetRunningCode("REQUISITION_INVCODE", reqDAL.REQUISITIONTYPE.ToString(), obj.zTrans); ret = reqDAL.UpdateCurrentData(userID, obj.zTrans); if (!ret) throw new ApplicationException(reqDAL.ErrorMessage); } obj.zTrans.Commit(); obj.CloseConnection(); } catch (Exception ex) { obj.zTrans.Rollback(); obj.CloseConnection(); ret = false; _error = ex.Message; } return ret; }
public bool SubmitStockOut(string userID, double stockOut) { bool ret = true; OracleDBObj obj = new OracleDBObj(); obj.CreateConnection(); obj.CreateTransaction(); try { DALObj.OnDB = false; DALObj.GetDataByLOID(stockOut, obj.zTrans); if (DALObj.STATUS == Constz.Requisition.Status.Waiting.Code) { DALObj.STATUS = Constz.Requisition.Status.Approved.Code; ret = DALObj.UpdateCurrentData(userID, obj.zTrans); if (!ret) throw new ApplicationException(DALObj.ErrorMessage); RequisitionDAL rDAL = new RequisitionDAL(); rDAL.GetDataByLOID(DALObj.REFLOID, obj.zTrans); rDAL.ACTIVE = Constz.ActiveStatus.InActive; ret = rDAL.UpdateCurrentData(userID, obj.zTrans); if (!ret) throw new ApplicationException(rDAL.ErrorMessage); ret = DALItemObj.UpdateStatusByStockOut(stockOut, DALObj.STATUS, userID, obj.zTrans); if (!ret) throw new ApplicationException(DALItemObj.ErrorMessage); ret = DALObj.CutStock(LOID, userID, obj.zTrans); if (!ret) throw new ApplicationException(DALObj.ErrorMessage); } obj.zTrans.Commit(); obj.CloseConnection(); } catch (Exception ex) { obj.zTrans.Rollback(); obj.CloseConnection(); ret = false; _error = ex.Message; } return ret; }
public bool UpdateStockOutStatus(string userID, double stockOut, string status) { bool ret = true; OracleDBObj obj = new OracleDBObj(); obj.CreateConnection(); obj.CreateTransaction(); try { DALObj.OnDB = false; DALObj.GetDataByLOID(stockOut, obj.zTrans); DALObj.STATUS = status; if (DALObj.OnDB) ret = DALObj.UpdateCurrentData(userID, obj.zTrans); if (!ret) throw new ApplicationException(DALObj.ErrorMessage); RequisitionDAL rDAL = new RequisitionDAL(); rDAL.GetDataByLOID(DALObj.REFLOID, obj.zTrans); rDAL.ACTIVE = Constz.ActiveStatus.InActive; if (rDAL.OnDB) ret = rDAL.UpdateCurrentData(userID, obj.zTrans); if (!ret) throw new ApplicationException(rDAL.ErrorMessage); ret = DALItemObj.UpdateStatusByStockOut(stockOut, status, userID, obj.zTrans); if (!ret) throw new ApplicationException(DALItemObj.ErrorMessage); PDProductDAL pdDAL = new PDProductDAL(); pdDAL.GetDataByLOID(rDAL.REFLOID, obj.zTrans); PDOrderDAL poDAL = new PDOrderDAL(); poDAL.GetDataByLOID(pdDAL.PDORDER, obj.zTrans); poDAL.STATUS = Constz.Requisition.Status.RW.Code; ret = poDAL.UpdateCurrentData(userID, obj.zTrans); if (!ret) throw new ApplicationException(poDAL.ErrorMessage); ret = DALObj.CutStock(stockOut, userID, obj.zTrans); if (!ret) throw new ApplicationException(DALObj.ErrorMessage); obj.zTrans.Commit(); obj.CloseConnection(); } catch (Exception ex) { obj.zTrans.Rollback(); obj.CloseConnection(); ret = false; _error = ex.Message; } return ret; }