using System; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Common; public partial class Root_BagLabels : Page { private int workloadId; protected void Page_Load(object sender, EventArgs e) { if (Page.RouteData.Values["id"] == null || !int.TryParse(Page.RouteData.Values["id"].ToString(), out workloadId)) return; if (Page.IsPostBack) return; using (var db = new DataModel()) { var customerLogin = db.GetCustomerLoginFromGuid(HttpContext.Current.User.Identity.Name).FirstOrDefault(); if (customerLogin == null) return; var workload = db.Workloads.FirstOrDefault(c => c.CustomerId == customerLogin.CustomerId && c.WorkloadId == workloadId); if (workload == null) return; OpenPickupsLabel.Text = string.Format("created {0}", workload.DateCreated); BagsRepeater.DataSource = db.CustomerWorkloadBags.Where(c => c.WorkloadId == workload.WorkloadId).ToList(); BagsRepeater.DataBind(); } } protected void AddNetBagReferenceButton_Click(object sender, EventArgs e) { ErrorLabel.Text = string.Empty; if (string.IsNullOrEmpty(NewBagReference.Text)) { ErrorLabel.Text = @"Please enter a valid bag reference."; ErrorLabel.Visible = true; return; } using (var db = new DataModel()) { var customerLogin = db.GetCustomerLoginFromGuid(HttpContext.Current.User.Identity.Name).FirstOrDefault(); if (customerLogin == null) return; var workload = db.Workloads.FirstOrDefault(c => c.CustomerId == customerLogin.CustomerId && c.WorkloadId == workloadId); if (workload == null) return; Trace.Warn("UpdateCustomerWorkloadBag"); Trace.Warn("customerLogin.CustomerLoginId", customerLogin.CustomerLoginId.ToString()); Trace.Warn("workload.WorkloadId", workload.WorkloadId.ToString()); Trace.Warn("NewBagReference.Text", NewBagReference.Text.Trim()); BagsRepeater.DataSource = db.UpdateCustomerWorkloadBag(customerLogin.CustomerLoginId, workload.WorkloadId, NewBagReference.Text.Trim()).ToList(); BagsRepeater.DataBind(); NewBagReference.Text = string.Empty; NewBagReference.Focus(); } } protected void PrintButton_Click(object sender, EventArgs e) { var button = sender as Button; if (button == null) return; Response.Redirect(string.Format("/Pickups/BagLabels/print.aspx?id={0}", button.CommandArgument), true); } protected void DeleteButton_Click(object sender, EventArgs e) { int bagReferenceId; var button = sender as Button; if (button == null) return; if (!int.TryParse(button.CommandArgument, out bagReferenceId)) return; using (var db = new DataModel()) { var customerLogin = db.GetCustomerLoginFromGuid(HttpContext.Current.User.Identity.Name).FirstOrDefault(); if (customerLogin == null) return; var workload = db.Workloads.FirstOrDefault(c => c.CustomerId == customerLogin.CustomerId && c.WorkloadId == workloadId); if (workload == null) return; var bag = db.CustomerWorkloadBags.FirstOrDefault(b => b.WorkloadId == workload.WorkloadId && b.WorkloadBagId == bagReferenceId); if (bag == null) return; db.CustomerWorkloadBags.Remove(bag); db.SaveChanges(); BagsRepeater.DataSource = db.CustomerWorkloadBags.Where(c => c.WorkloadId == workload.WorkloadId).ToList(); BagsRepeater.DataBind(); } } }