// Willis public List <int> UpdateDisbursementItem(List <int> IdDisbursementItemClerk) { List <int> IdDisbursement = new List <int>(); foreach (int diid in IdDisbursementItemClerk) { DisbursementItem disbursementitem = context.DisbursementItems .Where(x => x.IdDisbursementItem == diid) .FirstOrDefault(); if (disbursementitem != null) { Status status = context.Status.Where(s => s.IdStatus == 9).FirstOrDefault(); disbursementitem.IdStatus = 9; context.SaveChanges(); // As long as there is one item in disbursementitem that has been set to "prepared" // It will retrieve it's IdDisbursement and set as "pepared" if (!IdDisbursement.Contains(disbursementitem.IdDisbursement)) { IdDisbursement.Add(disbursementitem.IdDisbursement); } } } return(IdDisbursement); }
public void updatedisbursement(int disbid, string itemcode, int actual) { DisbursementItem disb = sce.DisbursementItems.Where(x => x.disbursementid == disbid && x.itemcode == itemcode).First(); disb.actualquantity = actual; sce.SaveChanges(); }
public void UpdateStockRecord(int IdStoreClerk, List <int> IdDisbursementItem) { foreach (int x in IdDisbursementItem) { DisbursementItem disbursementItem = context.DisbursementItems .Where(di => di.IdDisbursementItem == x) .FirstOrDefault(); Operation operation = context.Operations.Where(o => o.IdOperation == 1).FirstOrDefault(); Item item = context.Items.Where(i => i.IdItem == disbursementItem.IdItem).FirstOrDefault(); Employee storeclerk = context.Employees.Where(e => e.IdEmployee == IdStoreClerk).FirstOrDefault(); Disbursement disbursement = context.Disbursements .Where(d => d.IdDisbursement == disbursementItem.IdDisbursement).FirstOrDefault(); Department department = context.Departments .Where(dpt => dpt.CodeDepartment.Equals(disbursement.CodeDepartment)).FirstOrDefault(); Supplier supplier = context.Suppliers.Where(s => s.CodeSupplier == item.CodeSupplier1).FirstOrDefault(); StockRecord stockrecord = new StockRecord(); stockrecord.Date = DateTime.Now; stockrecord.IdDepartment = disbursement.CodeDepartment; stockrecord.Department = department; stockrecord.IdOperation = 1; stockrecord.Operation = operation; stockrecord.IdItem = disbursementItem.IdItem; stockrecord.Item = item; stockrecord.IdSupplier = item.CodeSupplier1; stockrecord.Supplier = supplier; stockrecord.IdStoreClerk = IdStoreClerk; stockrecord.StoreClerk = storeclerk; stockrecord.Unit = disbursementItem.UnitIssued; context.StockRecords.Add(stockrecord); context.SaveChanges(); } }
//Willis public void UpdateItem(List <int> IdDisbursementItem) { foreach (int x in IdDisbursementItem) { DisbursementItem disbursementItem = context.DisbursementItems .Where(di => di.IdDisbursementItem == x) .FirstOrDefault(); Item items = context.Items.Where(i => i.IdItem == disbursementItem.IdItem).FirstOrDefault(); if (items != null) { if (items.StockUnit - disbursementItem.UnitIssued >= 0) { items.StockUnit = items.StockUnit - disbursementItem.UnitIssued; context.SaveChanges(); } /*if (items.AvailableUnit - disbursementItem.UnitIssued >= 0) * { * items.AvailableUnit = items.AvailableUnit - disbursementItem.UnitIssued; * context.SaveChanges(); * }*/ } } }
public DisbursementItem findDisbursementByDisburseAndItem(int disid, string itmid) { DisbursementItem item = new DisbursementItem(); item = StoreDepartmentDAO.findDisbursementByDisburseAndItem(disid, itmid); return(item); }
//James internal void StockAdjustmentDuringDisbursement(int qtyDisbursed, DisbursementItem di, int idStoreClerk) { // 1. Raise SA for damaged good for approval StockRecord raiseSA = new StockRecord { Date = DateTime.Now, IdOperation = 5, IdDepartment = di.Disbursement.CodeDepartment, IdStoreClerk = idStoreClerk, IdItem = di.IdItem, Unit = (di.UnitIssued - qtyDisbursed) * -1 }; context.StockRecords.Add(raiseSA); // 2. Create reversal StockRecord transaction for unit issued to the department StockRecord reverseSr = new StockRecord { Date = DateTime.Now, IdOperation = 1, IdDepartment = di.Disbursement.CodeDepartment, IdStoreClerk = idStoreClerk, IdItem = di.IdItem, Unit = di.UnitIssued - qtyDisbursed }; context.StockRecords.Add(reverseSr); context.SaveChanges(); }
private List <Disbursement> generateDisbersementList(List <RetrievalFormItem> reflist) { bool IsNewDepartment = true; bool IsNewItem = true; List <Disbursement> dislist = new List <Disbursement>(); foreach (RetrievalFormItem refitem in reflist) { foreach (BreakdownByDepartment breaklist in refitem.BreakdownByDepartmentList) { IsNewDepartment = true;//reset boolean foreach (Disbursement dept in dislist) { if (dept.deptID == breaklist.DeptID)//not a new department { IsNewDepartment = false; IsNewItem = true; foreach (DisbursementItem item in dept.DisbursementItems) { if (item.itemID == refitem.ItemID)// not a new item { IsNewItem = false; item.expectedQty = item.expectedQty + breaklist.Needed; item.actualQty = item.actualQty + breaklist.Actual; break; } } if (IsNewItem)// add a new item in disbursementItems { DisbursementItem item = new DisbursementItem(); //item.disbursementID = dept.disbursementID; item.itemID = refitem.ItemID; item.expectedQty = breaklist.Needed; item.actualQty = breaklist.Actual; dept.DisbursementItems.Add(item); } } } if (IsNewDepartment)//add a new department in disbursement { Disbursement dept = new Disbursement(); dept.deptID = breaklist.DeptID; dept.storeStaffID = (string)HttpContext.Current.Session["loginID"]; dept.disburseDate = DateTime.Now; dept.status = "Awaiting Delivery"; DisbursementItem item = new DisbursementItem(); item.itemID = refitem.ItemID; item.expectedQty = breaklist.Needed; item.actualQty = breaklist.Actual; dept.DisbursementItems.Add(item); dislist.Add(dept); } } } return(dislist); }
public void UpdateDisbursementItem(List <WCFDisbursementItem> disitems) { AdjustmentVoucher adjs = new AdjustmentVoucher(); int clerkcode = Convert.ToInt32(disitems[0].Supplier2); double cost = 0; for (int i = 0; i < disitems.Count; i++) { DisbursementItem item = scmanager.findDisbursementByDisburseAndItem(disitems[i].Disbursementid, disitems[i].Itemcode); item.actualquantity = disitems[i].Actualquantity; int al = disitems[i].Allocatedquantity; int ac = (int)disitems[i].Actualquantity; int minus = ac - al; string dept = item.Disbursement.deptcode; List <RequisitionItem> rlist = new List <RequisitionItem>(); List <Requisition> reqlist = new List <Requisition>(); rlist = scmanager.getrequisitions(dept); reqlist = scmanager.getreq(dept); if (minus < 0) { double price = scmanager.findPriceBySupplierAndItem(disitems[i].Supplier1, disitems[i].Itemcode); cost += price; scmanager.addadjustmentvoucher(price, 1025, item.itemcode, Math.Abs(minus)); foreach (RequisitionItem it in rlist) { if (it.itemcode == item.itemcode) { scmanager.deliverstatus(it.requisitionid, it.itemcode, Math.Abs(minus), ac, dept, it.Requisition.employeecode); } } } else { foreach (RequisitionItem it in rlist) { if (it.itemcode == item.itemcode) { scmanager.updatestatusto3(it.requisitionid, it.itemcode); } } } scmanager.updatedisbursement(item.disbursementid, item.itemcode, ac); for (int z = 0; z < reqlist.Count; z++) { int reqcount = scmanager.getreqcount(reqlist[z].requisitionid); int statuscount = scmanager.getstatuscount(reqlist[z].requisitionid); if (reqcount == statuscount) { scmanager.updaterequisition(reqlist[z].requisitionid); } } scmanager.updatedisb(item.Disbursement.deptcode); } }
//1.add retrieved-items to disbursement list public void createNewDisburesementItem(int disbId, string itemId, int expectedQty, int actualQty) { DisbursementItem disbItem = new DisbursementItem(); disbItem.disbursementID = disbId; disbItem.itemID = itemId; disbItem.expectedQty = expectedQty; disbItem.actualQty = actualQty; context.DisbursementItems.Add(disbItem); context.SaveChanges(); //After finished requisition, use foreach to add items. }
public void savingActualQty(int disID, string itemID, int actualqty) { var k = model.DisbursementItems.Where(x => x.itemID == itemID && x.disbursementID == disID).ToList(); if (k.Count == 0) { return; } DisbursementItem i = k.First(); i.actualQty = actualqty; model.SaveChanges(); }
//Save the input actual qty public void savingActualQty(int disbursementItemID, int actualqty) { var k = context.DisbursementItems.Where(x => x.disbursementItemID == disbursementItemID).ToList(); if (k.Count == 0) { return; } DisbursementItem i = k.First(); i.actualQty = actualqty; context.SaveChanges(); }
public static void UpdateDisbursementItem(List <DisbursementItem> items) { for (int i = 0; i < items.Count; i++) { string itmid = items[i].itemcode; int disid = items[i].disbursementid; DisbursementItem item = ds.DisbursementItems.Where(x => x.itemcode == itmid && x.disbursementid == disid).FirstOrDefault(); item.actualquantity = items[i].actualquantity; } int id = items[0].disbursementid; Disbursement dis = ds.Disbursements.Where(x => x.disbursementid == id).FirstOrDefault(); dis.collectiondate = DateTime.Today; ds.SaveChanges(); }
public void addtodisbursementitem(Disbursement disb, DisbursementItem disbitem) { if (disb.DisbursementItems.Where(x => x.disbursementid == disbitem.disbursementid && x.itemcode == disbitem.itemcode).Count() == 0) { sce.DisbursementItems.Add(disbitem); sce.SaveChanges(); } else { if (disb.DisbursementItems.Where(x => x.disbursementid == disbitem.disbursementid && x.itemcode == disbitem.itemcode && x.actualquantity == null).Count() != 0) { DisbursementItem disbursementitem = disb.DisbursementItems.Where(x => x.disbursementid == disbitem.disbursementid && x.itemcode == disbitem.itemcode && x.actualquantity == null).First(); disbursementitem.allocatedquantity = disbursementitem.allocatedquantity + disbitem.allocatedquantity; sce.SaveChanges(); } } }
public void sendRequestDepts(List <WCFRequestDept> rdlist) { foreach (WCFRequestDept i in rdlist) { string deptname = i.Deptname; string deptcode = scmanager.getdepartmentcode(deptname); int recode = scmanager.getrepresentativecode(deptcode); Disbursement disburse = new Disbursement(); disburse.deptcode = deptcode; disburse.representativecode = recode; Disbursement newdisburse = scmanager.addtodisbursement(disburse); int id = newdisburse.disbursementid; DisbursementItem disburseitem = new DisbursementItem(); disburseitem.disbursementid = id; disburseitem.itemcode = i.Itemcode; disburseitem.allocatedquantity = i.Allocatedquantity; scmanager.addtodisbursementitem(disburse, disburseitem); } }
// Willis public void DisbursementItemByPriority(List <Retrieval> RetrievalItem) { // RetrievalItem Group by CodeDepartment, IdItem var Retrieval = RetrievalItem.GroupBy(x => new { x.IdItem, x.CodeDepartment }) .Select(y => new Retrieval { IdItem = y.First().IdItem, StockUnit = y.First().StockUnit, CodeDepartment = y.First().CodeDepartment, Unit = y.Sum(z => z.Unit) }).ToList(); // Select IdItem where total requested unit is more than stock unit var IdItem = Retrieval.Where(ri => ri.Unit > ri.StockUnit) .Select(ri => ri.IdItem); // Select IdDisbursementItem order by ApprovedDate that stock unit is less than sum of the unit request List <int> IdDisbursementItem = new List <int>(); foreach (var iditem in IdItem) { var JoinTable = context.DisbursementItems .Join(context.Items, di => di.IdItem, i => i.IdItem, (di, i) => new { di, i }) .Join(context.RequisitionItems, idi => idi.i.IdItem, ri => ri.IdItem, (idi, ri) => new { idi, ri }) .Join(context.Requisitions, riidi => riidi.ri.IdRequisiton, r => r.IdRequisition, (riidi, r) => new { riidi, r }) .Where(x => x.riidi.ri.IdItem == iditem) .OrderBy(x => x.r.ApprovedDate) .Select(x => x.riidi.idi.di.IdDisbursementItem); if (JoinTable != null) { foreach (var jt in JoinTable) { if (!IdDisbursementItem.Any()) { IdDisbursementItem.Add(jt); } else if (!IdDisbursementItem.Contains(jt)) { IdDisbursementItem.Add(jt); } } } } // Distribute stock item based on approved date given stockunit less than sum of requested unit foreach (var iditem in IdItem) { int stockunit = context.Items.Where(i => i.IdItem == iditem) .Select(i => i.StockUnit).FirstOrDefault(); foreach (var id in IdDisbursementItem) { DisbursementItem disbursementItem = context.DisbursementItems .Where(di => di.IdDisbursementItem == id) .Where(di => di.IdItem == iditem).FirstOrDefault(); if (disbursementItem != null) { if (disbursementItem.UnitIssued >= stockunit) { disbursementItem.UnitIssued = stockunit; stockunit = 0; context.SaveChanges(); } else { stockunit = stockunit - disbursementItem.UnitIssued; } } } } }
public static DisbursementItem findDisbursementByDisburseAndItem(int disid, string itmid) { DisbursementItem item = ds.DisbursementItems.Where(x => x.disbursementid == disid && x.itemcode == itmid).FirstOrDefault(); return(item); }
private void savebtn_Click(object sender, RoutedEventArgs e) { if (SystemClass.CheckConnection()) { try { ImusCityHallEntities db = new ImusCityHallEntities(); CDSSignatory signatories = db.CDSSignatories.FirstOrDefault(); if (payeecb.SelectedValue == null && optionpayeecb.IsChecked == false) { MessageBox.Show("Please select payee from the dropdown list"); } else if (optionpayeecb.IsChecked == true && String.IsNullOrEmpty(optionalpayee.Text)) { MessageBox.Show("Please enter payee name"); } else if (paymenttypecb.SelectedValue == null) { MessageBox.Show("Please select payment type"); } else if (signatories == null) { Mouse.OverrideCursor = null; MessageBox.Show("Please add report signatories"); } else if (String.IsNullOrEmpty(vouchernotb.Text)) { MessageBox.Show("Please enter voucher number"); } else if (voucherList.Count() == 0) { MessageBox.Show("Please input at least one voucher item"); } else { Disbursement disbursement = new Disbursement(); disbursement.PayeeID = optionpayeecb.IsChecked == true ? null : payeecb.SelectedValue == null ? (int?)null : (int)payeecb.SelectedValue; disbursement.PayeeName = optionalpayee.Text.ToUpper(); disbursement.PayeeRepID = payeerepcb.SelectedValue == null ? (int?)null : (int)payeerepcb.SelectedValue; disbursement.DepartmentID = departmentcb.SelectedValue == null ? null : (int?)departmentcb.SelectedValue; disbursement.PaymentType = paymenttypecb.Text; disbursement.VoucherNo = voucherprefixtb.Text + vouchernotb.Text; disbursement.DateCreated = DateTime.Now; disbursement.ProjectName = projectnametb.Text; disbursement.Obligated = obligatedcb.IsChecked; disbursement.DocCompleted = documentcb.IsChecked; disbursement.CreatedBy = App.EmployeeID; foreach (var voucherItem in voucherList) { var item = new DisbursementItem() { Explanation = voucherItem.Explanation, Amount = Convert.ToDecimal(voucherItem.Amount) }; disbursement.DisbursementItems.Add(item); } var x = db.Disbursements.Add(disbursement); db.SaveChanges(); var audit = new AuditTrailModel { Activity = "Created disbursement document", ModuleName = this.GetType().Name, EmployeeID = App.EmployeeID }; SystemClass.InsertLog(audit); MessageBox.Show("Check Disbursement Created!"); Print(x.DisbursementID); this.Close(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } else { MessageBox.Show(SystemClass.DBConnectionErrorMessage); } }
// Willis public List <int> CreateDisbursementItem(List <int> IdDisbursement, List <Retrieval> RetrievalItem) { // RetrievalItem Group by CodeDepartment, IdItem var Retrieval = RetrievalItem.GroupBy(x => new { x.IdItem, x.CodeDepartment }) .Select(y => new Retrieval { IdItem = y.First().IdItem, StockUnit = y.First().StockUnit, CodeDepartment = y.First().CodeDepartment, Unit = y.Sum(z => z.Unit) }).ToList(); List <int> IdDisbursementItem = new List <int>(); // Get Disbursement with IdDisbursement foreach (int id in IdDisbursement) { Disbursement disbursement = context.Disbursements .Where(x => x.IdDisbursement == id) .FirstOrDefault(); string DptCode = disbursement.CodeDepartment; // Create DisbursementItem List using Retrieval with CodeDepartment equals DptCode var RequestedItemByDept = Retrieval.Where(ri => ri.CodeDepartment.Equals(DptCode)) .OrderBy(ri => ri.ApprovedDate) .ToList(); // Status of "preparing" Status status = context.Status.Where(s => s.IdStatus == 8).FirstOrDefault(); foreach (var ribd in RequestedItemByDept) { Item items = context.Items.Where(i => i.IdItem == ribd.IdItem).FirstOrDefault(); Debug.WriteLine(ribd.IdItem); DisbursementItem NewDisbursementItem = new DisbursementItem(); NewDisbursementItem.IdDisbursement = id; NewDisbursementItem.Disbursement = disbursement; NewDisbursementItem.IdItem = ribd.IdItem; NewDisbursementItem.Item = items; NewDisbursementItem.IdStatus = 8; NewDisbursementItem.Status = status; NewDisbursementItem.UnitRequested = ribd.Unit; NewDisbursementItem.UnitIssued = ribd.Unit; // If stockunit is less that request unit, it will update once become "prepared" /*if (ribd.StockUnit < ribd.Unit) * { * NewDisbursementItem.UnitRequested = ribd.StockUnit; * NewDisbursementItem.UnitIssued = ribd.StockUnit; * } * else * { * NewDisbursementItem.UnitRequested = ribd.Unit; * NewDisbursementItem.UnitIssued = ribd.Unit; * }*/ context.DisbursementItems.Add(NewDisbursementItem); context.SaveChanges(); // Get Id of Created DisbursementItem int pk = NewDisbursementItem.IdDisbursementItem; IdDisbursementItem.Add(pk); } } return(IdDisbursementItem); }
protected void Button1_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(1000); List <String> error = new List <string>(); if (GridView1.Rows.Count != 0) { GridViewRow r = GridView1.Rows[0]; TextBox t = (TextBox)r.FindControl("Textfrom"); int actual = Convert.ToInt32(GridView1.Rows[0].Cells[3].Text); List <int> dneed = new List <int>(); dneed.Add(Convert.ToInt32(t.Text)); String itemdescription = GridView1.Rows[0].Cells[1].Text; for (int k = 1; k < GridView1.Rows.Count; k++) { GridViewRow row = GridView1.Rows[k]; TextBox tx = (TextBox)row.FindControl("Textfrom"); if (GridView1.Rows[k].Cells[3].Text.Equals("")) { for (int j = k; j > 0; j--) { if (GridView1.Rows[j].Cells[3].Text != "") { actual = Convert.ToInt32(GridView1.Rows[j].Cells[3].Text); break; } } dneed.Add(Convert.ToInt32(tx.Text)); if (GridView1.Rows[k].RowIndex == GridView1.Rows.Count - 1) { if (dneed.Sum() > actual) { error.Add(itemdescription); } } } else { if (dneed.Sum() > actual) { error.Add(itemdescription); } if (GridView1.Rows.Count > 0) { actual = Convert.ToInt32(GridView1.Rows[k].Cells[3].Text); dneed.Clear(); dneed.Add(Convert.ToInt32(tx.Text)); itemdescription = GridView1.Rows[k].Cells[1].Text; } if (GridView1.Rows[k].RowIndex == GridView1.Rows.Count - 1) { if (dneed.Sum() > actual) { error.Add(itemdescription); } } } } } // if (error.Count == 0) { List <String> deptList = new List <string>(); List <String> dlist = new List <string>(); string itemcode, dept; int allocatedqty, actualqty1 = 0, repcode; for (int i = 0; i < GridView1.Rows.Count; i++) { Disbursement disb = new Disbursement(); Disbursement disbid = new Disbursement(); String d = GridView1.Rows[i].Cells[5].Text; dept = sc.getdepartmentcode(d); repcode = sc.getrepresentativecode(dept); disb.representativecode = repcode; disb.deptcode = dept; disbid = sc.addtodisbursement(disb); GridViewRow row = GridView1.Rows[i]; TextBox tx = (TextBox)row.FindControl("Textfrom"); itemcode = GridView1.Rows[i].Cells[8].Text; allocatedqty = Convert.ToInt32(tx.Text); DisbursementItem disbitem = new DisbursementItem(); disbitem.disbursementid = disbid.disbursementid; disbitem.itemcode = itemcode; disbitem.allocatedquantity = allocatedqty; sc.addtodisbursementitem(disbid, disbitem); int deptneedsum = 0; int initialactualqty = 0; int deptneed = Convert.ToInt32(GridView1.Rows[i].Cells[6].Text); if (GridView1.Rows[i].Cells[2].Text.Equals("")) { deptneedsum = 0; } else { deptneedsum = Convert.ToInt32(GridView1.Rows[i].Cells[2].Text); } int allocated = Convert.ToInt32(tx.Text); int requid = Convert.ToInt32(GridView1.Rows[i].Cells[4].Text); if (GridView1.Rows[i].Cells[3].Text.Equals("")) { initialactualqty = 0; } else { initialactualqty = Convert.ToInt32(GridView1.Rows[i].Cells[3].Text); } String dep = GridView1.Rows[i].Cells[5].Text; dept = sc.getdepartmentcode(dep); int requisition = Convert.ToInt32(GridView1.Rows[i].Cells[4].Text); Requisition employeecode = sc.getemployeecode(requisition); if (GridView1.Rows[i].Cells[3].Text != " ") { if (initialactualqty > deptneedsum) { initialactualqty = initialactualqty - deptneedsum; Item reorderlevel = sc.getreorderlevel(GridView1.Rows[i].Cells[8].Text); if (initialactualqty <= reorderlevel.reorderlevel) { sc.raiseReorder(reorderlevel, role); //Add clerk code here } } else { initialactualqty = deptneedsum - initialactualqty; Item reorderlevel = sc.getreorderlevel(GridView1.Rows[i].Cells[8].Text); if (initialactualqty <= reorderlevel.reorderlevel) { sc.raiseReorder(reorderlevel, role); } } } if (GridView1.Rows[i].Cells[3].Text.Equals("")) { for (int j = i; j > 0; j--) { if (GridView1.Rows[j].Cells[3].Text != "") { actualqty1 = Convert.ToInt32(GridView1.Rows[j].Cells[3].Text); break; } } } else { actualqty1 = Convert.ToInt32(GridView1.Rows[i].Cells[3].Text); } string itemcode1 = GridView1.Rows[i].Cells[8].Text; RequisitionItem status = sc.getstatus(requid, itemcode1); if (deptneed == allocated) { sc.updateStatus(requid, itemcode1, actualqty1 - allocated); } else if (deptneed != allocated) { sc.owestatus(requid, itemcode1, deptneed - allocated, allocated, dept, employeecode.employeecode, status); } } Response.Redirect("SCprocessRequest.aspx"); } else if (error.Count > 0) { //String s = ""; // BulletedList1.Items.Add("Allocation Exceeded the Actual Quantity"); for (int i = 0; i < error.Count; i++) { BulletedList1.Items.Add(error[i]); } // Label1.Text = s; } }