public List <RetrievalDetailBO> getGridViewData() { List <RetrievalDetailBO> rboLst = new List <RetrievalDetailBO>(); foreach (GridViewRow gvRow in gvRetrivalList.Rows) { RetrievalDetailBO r = new RetrievalDetailBO(); r.Rbo = new RetrivalBO(); r.BdboLst = new List <BreakDownByDepBO>(); r.Rbo.ItemName = gvRow.Cells[1].Text.ToString(); r.Rbo.Needed = Convert.ToInt32(gvRow.Cells[2].Text); TextBox t = (TextBox)gvRow.Cells[3].FindControl("tbTotalActual"); if (t.Text != "") { r.Rbo.Retrived = Convert.ToInt32(t.Text); } else { r.Rbo.Retrived = 0; } GridView gvBreakeDownByDept = gvRow.FindControl("gvBreakeDownByDept") as GridView; int totalDisbursed = 0; foreach (GridViewRow gv1Row in gvBreakeDownByDept.Rows) { BreakDownByDepBO bd = new BreakDownByDepBO(); bd.Dep = gv1Row.Cells[0].Text; bd.Outstanding = Convert.ToInt32(gv1Row.Cells[1].Text); bd.Needed = Convert.ToInt32(gv1Row.Cells[2].Text); TextBox tb = (TextBox)gv1Row.Cells[2].FindControl("tbActual"); if (tb.Text != "") { bd.Actual = Convert.ToInt32(tb.Text); totalDisbursed = totalDisbursed + bd.Actual; } else { bd.Actual = 0; } r.BdboLst.Add(bd); } if (totalDisbursed == r.Rbo.Retrived) { rboLst.Add(r); } else { ViewState["error"] = "Yes"; break; } } return(rboLst); }
public List <BreakDownByDepBO> getBreakDownLstByName(string itemName) //To show in GV in GV { string itemNumber = rda.getItemNumberByItemName(itemName); List <string> list = getDepLst(itemNumber).Distinct().ToList(); List <BreakDownByDepBO> bdLst = new List <BreakDownByDepBO>(); foreach (string s in list) { BreakDownByDepBO bdbo = new BreakDownByDepBO(); int os = rda.getOutstandingByDepAndItem(s, itemNumber); int od = rda.getOrderedQtyByDepAndItem(s, itemNumber); bdbo.Outstanding = os; bdbo.Needed = (od + os); bdbo.Dep = s; bdLst.Add(bdbo); } return(bdLst); }
public List <BreakDownByDepBO> updateBreakDownLst(string itemName, int totalRetrieved) //To show in GV in GV after Retrieved changed { string itemName1 = itemName.Replace("_", " "); string itemNumber = rda.getItemNumberByItemName(itemName1); List <string> list = getDepLst(itemNumber).Distinct().ToList(); List <BreakDownByDepBO> bdLst = new List <BreakDownByDepBO>(); int totalOrdered = getTotalOrdered(itemNumber); int totalOutstanding = getTotalOutstanding(itemNumber); foreach (string s in list) { BreakDownByDepBO bdbo = new BreakDownByDepBO(); int os = rda.getOutstandingByDepAndItem(s, itemNumber); int od = rda.getOrderedQtyByDepAndItem(s, itemNumber); bdbo.Dep = s; bdbo.Outstanding = os; bdbo.Needed = (od + os); if (totalRetrieved == totalOutstanding) { bdbo.Actual = os; } else if (totalRetrieved < totalOutstanding) { double d = Convert.ToDouble(os) / Convert.ToDouble(totalOutstanding); double a = (totalRetrieved * d); double r = Math.Round(a); bdbo.Actual = Convert.ToInt32(r); } else { double d = Convert.ToDouble(od) / Convert.ToDouble(totalOrdered); double a = os + ((totalRetrieved - totalOutstanding) * (d)); double r = Math.Round(a); bdbo.Actual = Convert.ToInt32(r); } bdLst.Add(bdbo); } return(bdLst); }