public WCFRegenerateRequest GetRegenerateDate(string disbId) { string reqDate = (disbCon.GetRegenrateDate(Convert.ToInt32(disbId))).ToLongDateString(); string depName = EFBroker_Disbursement.GetDisbursmentbyDisbID(Convert.ToInt32(disbId)).Department.DeptName; string reqBy = EFBroker_DeptEmployee.GetDeptRepByDeptCode(depName); WCFRegenerateRequest r = new WCFRegenerateRequest(); r = WCFRegenerateRequest.Make(reqDate, reqBy, depName); return(r); }
public void RegenerateRequisition(List <WCFRequestedItem> regenList) { int disbId = 0; List <RequestedItem> requItemList = new List <RequestedItem>(); foreach (WCFRequestedItem r in regenList) { RequestedItem rItem = new RequestedItem(r.Code, r.Description, Convert.ToInt32(r.ShortfallQty), RequisitionControl.getUOM(r.Code)); disbId = r.DisbId; requItemList.Add(rItem); } DateTime date = (disbCon.GetRegenrateDate(disbId)); string depName = EFBroker_Disbursement.GetDisbursmentbyDisbID(Convert.ToInt32(disbId)).Department.DeptName; string reqBy = EFBroker_DeptEmployee.GetDeptRepByDeptCode(depName); int empID = EFBroker_DeptEmployee.GetDeptRepEmpIDByDeptCode(depName); string depCode = EFBroker_DeptEmployee.GetDepartByEmpID(empID).DeptCode; string status = "Priority"; RequisitionControl.addNewRequisitionItem(requItemList, date, status, empID, depCode); }
protected void btnAck_Click(object sender, EventArgs e) { int disbId = (int)Session["SelectedDisb"]; List <DisbursementDetailListItems> retrievedItem = new List <DisbursementDetailListItems>(); retrievedItem = disbCon.GvDisbursementDetailPopulate(disbId); List <RequestedItem> shortfallItem = new List <RequestedItem>(); List <int> actualQtyList = new List <int>(); List <string> disbRemark = new List <string>(); Dictionary <Item, int> discToUpdate = new Dictionary <Item, int>(); RequestedItem reqItem; bool check = true; foreach (GridViewRow r in gvDisbDetail.Rows) { //get disbursement remarks for each items string remark; try { remark = (r.FindControl("txtremarks") as TextBox).Text; } catch { remark = ""; } //add remarks to list to save to database disbRemark.Add(remark); //get retrieved item to compare int index = r.RowIndex; int retrievedQty = retrievedItem[index].ActualQty; //get actual qty to verify int reqQty = Convert.ToInt32((r.FindControl("lblreqQty") as Label).Text); //get actual qty to verify int actualQty = Convert.ToInt32((r.FindControl("txtactualQty") as TextBox).Text); //make actual qty list to update database actualQtyList.Add(actualQty); //check if any shortfall if (actualQty < reqQty) { //make short fall item list string iCode = (r.FindControl("hdnflditemCode") as HiddenField).Value; string iDesc = (r.FindControl("lblitemDesc") as Label).Text; int shortfallQty = reqQty - actualQty; string uom = EFBroker_Item.GetUnitbyItemCode(iCode); reqItem = new RequestedItem(iCode, iDesc, shortfallQty, uom); shortfallItem.Add(reqItem); //check if any discrepancy if (actualQty < retrievedQty) { //make discrepancy item list int disQty = actualQty - retrievedQty; Item disItem = EFBroker_Item.GetItembyItemCode(iCode); string finalQty = (disItem.BalanceQty + disQty).ToString(); discToUpdate.Add(disItem, disQty); } } else if (actualQty > retrievedQty) { check = false; (r.FindControl("lblActualError") as Label).Text = "Actual cannot be more than retrieved quantity"; } } if (check) { //check access code if (disbCon.CheckAccessCode(disbId, txtAccessCode.Text)) { //update Disbursement table (actual qty + status) disbCon.UpdateDisbursement(disbId, actualQtyList, disbRemark); //redirect to Regenerate Request page if any shortfall if (shortfallItem.Count != 0) { Session["discrepancyList"] = discToUpdate; Session["RegenerateDate"] = disbCon.GetRegenrateDate(disbId); Session["RegenerateDep"] = lblDepartment.Text; Session["RequestedByName"] = EFBroker_DeptEmployee.GetDeptRepByDeptCode(lblDepartment.Text); Session["RegenerateItems"] = shortfallItem; Response.Redirect(LoginController.RegenerateRequestURI); } //redirect back to Disbursement List page if no shortfall else { Session["SelectedDisb"] = null; Session["disbItemsList"] = null; Response.Redirect(LoginController.DisbursementListURI); } } else { string message = "Incorrect Access Code!"; ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + message + "');", true); } } }