public void createDibursement(Disbursement disbursement) { if (disbursement.DisbursementDetailsCollection.Count != 0) { disbursement dis = new disbursement(); dis.disbursementId = disbursement.DisbursementId; dis.departmentId = disbursement.DepartmentId; dis.date = disbursement.Date; dis.status = disbursement.Status; dis.deliveryDate = disbursement.Date; ctx.disbursements.Add(dis); ctx.SaveChanges(); List<DisbursementDetails> disD = disbursement.DisbursementDetailsCollection; foreach (DisbursementDetails ds in disD) { disbursementDetail dl = new disbursementDetail(); dl.disbursementId = disbursement.DisbursementId; dl.itemId = ds.ItemId; dl.requestQty = ds.RequestedQty; dl.deliveredQty = 0; ctx.disbursementDetails.Add(dl); ctx.SaveChanges(); } } }
protected void Generatebtn_Click(object sender, EventArgs e) { Department department = departmentCollection.Find(d => d.DepartmentName == DepartmentDropDownList.SelectedValue); if(PendingRadioButton.Checked==true) { DisbursementPanel.Visible = false; disbursement = viewDisbursementController.selectPendingDisbursement(department.DepartmentId); if (disbursement != null) { Session["disbursement"] = disbursement; CompleteDetailsGridView.DataSource = disbursement.DisbursementDetailsCollection; CompleteDetailsGridView.DataBind(); CompleteDetailsGridView.ForeColor = Color.Black; CollectionPointLabel1.Text = disbursement.CollectionPointName; RepresentativeLabel1.Text = disbursement.RepresentativeName; DepartmentLabel1.Text = disbursement.DepartmentName; DateLabel1.Text = disbursement.Date.ToString(); CompleteDeliveryPanel.Visible = true; DisbursementDetailsPanel.Visible = false; DisbursementPanel.Visible = false; //ErrorMessageLabel.Visible = false; } else { CompleteDeliveryPanel.Visible = false; //ErrorMessageLabel.Text = "No records found."; //ErrorMessageLabel.Visible = true; this.Message("No records found."); } } else { disbursementCollection = viewDisbursementController.selectDepartment(department.DepartmentId); DisbursementPanel.Visible = true; DisbursementDetailsPanel.Visible = false; CompleteDeliveryPanel.Visible = false; if (disbursementCollection.Count != 0) { DisbursementGridView.DataSource = disbursementCollection; DisbursementGridView.DataBind(); CompleteDeliveryPanel.Visible = false; DisbursementDetailsPanel.Visible = false; DisbursementPanel.Visible = true; //ErrorMessageLabel.Visible = false; } else { DisbursementPanel.Visible = false; //ErrorMessageLabel.Text = "No records found."; //ErrorMessageLabel.Visible = true; this.Message("No records found."); } } }
public int loadController() { try { List<Disbursement> disbursementCollection = requisitionFacade.getDisbursementWithStatus("Outstanding"); if(disbursementCollection.Count>0) { return 0; } else { List<Item> itemCollection = catalogueFacade.getItems("Active"); List<Department> departmentCollection = departmentFacade.getDepartments(); disbursementCollection.Clear(); disbursementCollection = new List<Disbursement>(); codeGenerator codeG = helperFacade.getCode("disbursementId"); Hashtable depItems = new Hashtable(); foreach(Department d in departmentCollection) { Disbursement disbursement = new Disbursement(); string newId = CodeGeneratorHelper.returnCode(codeG.prefix,codeG.lastValue); codeG.lastValue = Convert.ToInt32(newId.Substring(codeG.prefix.Length)); disbursement.DisbursementId = newId; disbursement.DepartmentId = d.DepartmentId; disbursement.Date = DateTime.Now; disbursement.Status = "Outstanding"; List<DisbursementDetails> disbursementDetailsCollection = new List<DisbursementDetails>(); disbursement.DisbursementDetailsCollection = disbursementDetailsCollection; disbursementCollection.Add(disbursement); depItems.Add(d.DepartmentId, 0); } foreach(Item item in itemCollection) { foreach (Department d in departmentCollection) { depItems[d.DepartmentId]= 0; } List<DisbursementHelper> disbursementHelperCollection = requisitionFacade.getRequisitionsForDisbursement(item.ItemId); if (disbursementHelperCollection.Count > 0) { foreach (DisbursementHelper d in disbursementHelperCollection) { if (item.StockBalance > 0) { if (item.StockBalance >= d.RequestedQty) { depItems[d.DepartmentId] = Convert.ToInt32(depItems[d.DepartmentId]) + d.RequestedQty; item.StockBalance -= d.RequestedQty; } else { depItems[d.DepartmentId] = Convert.ToInt32(depItems[d.DepartmentId]) + item.StockBalance; item.StockBalance -= item.StockBalance; } d.Status = "In Progress"; requisitionFacade.updateRequisitionStatus(d.RequisitionId,"In Progress"); } else { break; } } foreach (Department d in departmentCollection) { if (Convert.ToInt32(depItems[d.DepartmentId]) > 0) { DisbursementDetails disbursementDetails = new DisbursementDetails(); disbursementDetails.ItemId = item.ItemId; disbursementDetails.RequestedQty = Convert.ToInt32(depItems[d.DepartmentId]); Disbursement disbursement = disbursementCollection.Find(e => e.DepartmentId == d.DepartmentId); List<DisbursementDetails> disbursementDetailsCollection = disbursement.DisbursementDetailsCollection; disbursementDetailsCollection.Add(disbursementDetails); disbursement.DisbursementDetailsCollection = disbursementDetailsCollection; } } } } foreach(Disbursement disbursement in disbursementCollection) { requisitionFacade.createDibursement(disbursement); } helperFacade.updateCode(codeG); return 1; } } catch (Exception exception) { errorobj.WriteErrorLog("GenerateDisbursementController-loadController():::" + exception.ToString()); return -1; } }
public void selectCompleteDelivery(Disbursement disbursement) { completeDeliveryController = new CompleteDeliveryController(); completeDeliveryController.completeDelivery(disbursement); }
public void completeDelivery(Disbursement disbursement) { List<DisbursementDetails> disbursementDetailsCollection = disbursement.DisbursementDetailsCollection; requisitionFacade.updateDisbursment(disbursementDetailsCollection, disbursement.DisbursementId); foreach (DisbursementDetails disbursementDetails in disbursementDetailsCollection) { catalogueFacade.updateStock(disbursementDetails.ItemId, disbursementDetails.DeliveredQty); List<DisbursementHelper> disbursementHelperCollection = requisitionFacade.getRequisitionsForCompleteDisbursement(disbursementDetails.ItemId,disbursement.DepartmentId); if (disbursementHelperCollection.Count > 0) { foreach (DisbursementHelper d in disbursementHelperCollection) { if (disbursementDetails.DeliveredQty > 0) { int req = d.RequestedQty - d.DeliveredQty; if (disbursementDetails.DeliveredQty<=req) { d.DeliveredQty = d.DeliveredQty+disbursementDetails.DeliveredQty; disbursementDetails.DeliveredQty -= disbursementDetails.DeliveredQty; } else { d.DeliveredQty = d.DeliveredQty+req; disbursementDetails.DeliveredQty -= req; } requisitionFacade.updateRequisitionDelivery(d, disbursementDetails.ItemId); } else { break; } } } } requisitionFacade.updateDisbursementRequisitions(disbursement.DepartmentId); string subject = "Disbursement Update"; string bodyStart = "<HTML>" + "<HEAD>" + "</HEAD>" + "<BODY>" + "<BR/>" + "<P>Dear "; string body = ""; userFacade = new UserFacade(); List<User> userCollection = userFacade.getUsersWithRole("departmentHead",disbursement.DepartmentId); body = ",</P><BR/><P>Disbursement update for Disbursement Id : "+disbursement.DisbursementId+" delivered on date : "+disbursement.DeliveryDate+" </P>" + "<BR/>" + "<P>The details are :- </P>" + "<UL>"; NotifyUserController notifyUserController; List<DisbursementDetails> disbursementDetailCol = disbursement.DisbursementDetailsCollection; foreach (DisbursementDetails disdetail in disbursementDetailCol) { body = body + "<LI>" + disdetail.ItemName + " " + disdetail.RequestedQty + " "+ disdetail.DeliveredQty+"</LI>"; } body = body + "</UL>" + "<BR/>" + "<P>From,</P>" + "<P>SSIS.</P>" + "</BODY>" + "</HTML>"; notifyUserController = new NotifyUserController(); foreach (User user in userCollection) { notifyUserController.sendEmail(user.Email, subject, bodyStart + user.UserName + body); } }
public void cdselectCompleteDelivery(Disbursement disbursement) { ViewDisbursementController viewDisbursementController = new ViewDisbursementController(); viewDisbursementController.selectCompleteDelivery(disbursement); }
public List<Disbursement> getDisbursementWithStatus(string status, string departmentId) { List<Disbursement> disburesementCollection = new List<Disbursement>(); try { var di = (from disb in ctx.disbursements from u in ctx.users where disb.departmentId == departmentId && disb.status == status && u.departmentId==departmentId && u.status == "Active" && u.role.name == "departmentRepresentative" select new { disId = disb.disbursementId, depId = disb.departmentId, dt = disb.date, deldate = disb.deliveryDate, status = disb.status, depName = u.department.name, col = disb.department.collectionPoint.address, uname = u.name }); foreach(var dis in di) { Disbursement ds = new Disbursement(); ds.DisbursementId = dis.disId; ds.DepartmentId = dis.depId; ds.DepartmentName = dis.depName; ds.Date = (DateTime)dis.dt.Value; ds.CollectionPointName = dis.col; ds.RepresentativeName = dis.uname; if (dis.deldate != null) { ds.DeliveryDate = (DateTime)dis.deldate.Value; } ds.Status = dis.status; disburesementCollection.Add(ds); } } catch (Exception exception) { errorobj.WriteErrorLog("RequisitionFacade-getDisbursementWithStatus():::" + exception.ToString()); disburesementCollection = new List<Disbursement>(); } return disburesementCollection; }
public List<Disbursement> getDisbursementWithStatus(string status) { List<Disbursement> disburesementCollection = new List<Disbursement>(); try { IEnumerable<disbursement> disC = from dis in ctx.disbursements where dis.status == status select dis; foreach(disbursement d in disC) { Disbursement disbursement = new Disbursement(); disbursement.DisbursementId = d.disbursementId; disbursement.DepartmentId = d.departmentId; disbursement.Date = (DateTime)d.date.Value; disbursement.DeliveryDate = (DateTime)d.deliveryDate.Value; disbursement.Status = d.status; disburesementCollection.Add(disbursement); } } catch (Exception exception) { errorobj.WriteErrorLog("RequisitionFacade-getDisbursementWithStatus():::" + exception.ToString()); disburesementCollection = new List<Disbursement>(); } return disburesementCollection; }
public Disbursement getDisbursementWithDetails(string status, string departmentId) { Disbursement ds = new Disbursement(); try { var dis = (from disb in ctx.disbursements from u in ctx.users where disb.departmentId == departmentId && u.departmentId == departmentId && disb.status == status && u.status == "Active" && u.role.name == "departmentRepresentative" select new { disId = disb.disbursementId, depId = disb.departmentId, dt = disb.date, deldate = disb.deliveryDate, status = disb.status, depName = u.department.name, col = disb.department.collectionPoint.address, uname = u.name }).FirstOrDefault(); if (dis != null) { ds = new Disbursement(); ds.DisbursementId = dis.disId; ds.DepartmentId = dis.depId; ds.DepartmentName = dis.depName; ds.Date = (DateTime)dis.dt.Value; ds.CollectionPointName = dis.col; ds.RepresentativeName = dis.uname; if (dis.deldate != null) { ds.DeliveryDate = (DateTime)dis.deldate.Value; } ds.Status = dis.status; ds.DisbursementDetailsCollection = getDisbursementDetails(ds.DisbursementId); } else { ds = null; } } catch (Exception exception) { errorobj.WriteErrorLog("RequisitionFacade-getDisbursementWithStatus():::" + exception.ToString()); ds = null; } return ds; }