protected void btnRemoveContainer_Click(object sender, EventArgs e)
 {
     PullOutLetterSummary polSumToDelete = new PullOutLetterSummary
     {
          RecordNumber =int.Parse(gvContainers.SelectedValue.ToString()),
          TotalQuantity = int.Parse(gvContainers.SelectedDataKey[1].ToString())
     };
     POLSummaryManager.Delete(polSumToDelete);
     List<Container> containers = containerList();
     int pullOutId = int.Parse(Request.QueryString["PullOutId"]);
     PullOutLetter POL = POLManager.FetchById(pullOutId);
     POL.TotalQuantity -= polSumToDelete.TotalQuantity;
     POLManager.Save(POL);
     gvContainers.DataSource = containerList().OrderBy(s => s.Type).ThenBy(s => s.BoxNumber);
     gvContainers.DataBind();
     countTotalQuantities(containerList());
 }
        protected void btnAddContainer_Click(object sender, EventArgs e)
        {
            List<Container> containers = containerList();
            string containerLastNumber = "0";
            containerLastNumber = containers.Where(s => s.Type == rdioBoxOrSack.SelectedValue).Max(s => s.BoxNumber) ?? "0";

            PullOutLetterSummary newPOLSummary = new PullOutLetterSummary
            {
                 ContainerNumber = int.Parse(containerLastNumber),
                 ContainerType = rdioBoxOrSack.SelectedValue,
                 PullOutCode = hfPullOutLetterCode.Value,
                 TotalQuantity = int.Parse(txtTotalQty.Text),
            };
            POLSummaryManager.Save(newPOLSummary);
            int pullOutId = int.Parse(Request.QueryString["PullOutId"]);
            PullOutLetter POL = POLManager.FetchById(pullOutId);
            POL.TotalQuantity = int.Parse(txtTotalQtySummary.Text)+int.Parse(txtTotalQty.Text);
            POLManager.Save(POL);
            gvContainers.DataSource = containerList().OrderBy(s => s.Type).ThenBy(s => s.BoxNumber);
            gvContainers.DataBind();
            countTotalQuantities(containerList());
        }
        protected void Page_Init(object sender, EventArgs e)
        {
            List<PullOutLetterSummary> POLSummaries = (List<PullOutLetterSummary>)Session["POL_SUMMARIES"];

            Company company = CompanyManager.GetComapnyByKey(int.Parse(Request.QueryString["CustomerId"]));
            imgLogo.ImageUrl = "~/Marketing/Marketing-Admin/company-logos/" + company.CompanyLogo;
            lblBranch.Text = Request.QueryString["Branch"];
            lblCustomer.Text = Request.QueryString["Customer"];
            lblseries.Text = Request.QueryString["Series"];
            if (POLSummaries.Count > 1)
            {
                PullOutLetterSummary polTotalSum = new PullOutLetterSummary
                {
                    ContainerNumber = POLSummaries.Count,
                    ContainerType = "TOTAL: ",
                    TotalQuantity = POLSummaries.Sum(s => s.TotalQuantity)
                };
                POLSummaries.Add(polTotalSum);
            }
            gvSummaries.DataSource = POLSummaries;
            gvSummaries.DataBind();
        }
 private List<PullOutLetterSummary> pullLetterSummaries()
 {
     List<PullOutLetterSummary> summaries = new List<PullOutLetterSummary>();
     List<Container> containers = containerList();
     foreach (var item in containers)
     {
         PullOutLetterSummary polSum = new PullOutLetterSummary
         {
             ContainerNumber = int.Parse(item.BoxNumber),
             ContainerType = item.Type,
             PullOutCode = hfPullOutLetterCode.Value,
             TotalQuantity = (int)item.ItemsQuantity
         };
         summaries.Add(polSum);
     }
     return summaries ?? new List<PullOutLetterSummary>();
 }
 protected void btnSaveUpdate_Click(object sender, EventArgs e)
 {
     PullOutLetterSummary newPOLSummary = new PullOutLetterSummary
     {
         ContainerNumber = int.Parse(gvContainers.SelectedDataKey[3].ToString()),
         ContainerType = rdioBoxOrSack.SelectedValue,
         PullOutCode = hfPullOutLetterCode.Value,
         TotalQuantity = int.Parse(this.txtTotalQTYUpdate.Text),
          RecordNumber = int.Parse(gvContainers.SelectedValue.ToString())
     };
     POLSummaryManager.Save(newPOLSummary);
     gvContainers.DataSource = containerList().OrderBy(s => s.Type).ThenBy(s => s.BoxNumber);
     gvContainers.DataBind();
     int pullOutId = int.Parse(Request.QueryString["PullOutId"]);
     PullOutLetter POL = POLManager.FetchById(pullOutId);
     POL.TotalQuantity =(int)containerList().Sum(s => s.ItemsQuantity);
     POLManager.Save(POL);
     countTotalQuantities(containerList());
 }