public ActionResult TrackByContract(TrackByItemRequest request) { // if (ModelState.IsValid) { try { // Session["TrackBy"] = request.TrackBy; //Validate string input = request.TrackingNumbers; if (input.Length == 0) { ModelState.AddModelError("", "Please enter a valid tracking number."); return(View(request)); } //Get tracking details for all items and retain in Session state TrackingItems items = new TrackingItems(); switch (request.TrackBy) { case SEARCHBY_PO: items = new EnterpriseGateway().TrackCartonsForPO(request.Client, request.TrackingNumbers); break; case SEARCHBY_PRO: items = new EnterpriseGateway().TrackCartonsForPRO(request.Client, request.TrackingNumbers); break; } Session["TrackData"] = items; //Redirect to appropriate UI if (items.Count == 0) { ModelState.AddModelError("", "Carton(s) not found. Please verify the tracking number and retry."); return(View(request)); } //else if (items.Count == 1) // return RedirectToAction("ItemDetail","Tracking",new { itemNumber = items[0].ItemNumber.Trim() }); else if (items.Count > 0) { return(RedirectToAction("ItemSummary", "Tracking")); } else { return(View(request)); } } catch (Exception ex) { ModelState.AddModelError("", ex); return(View(request)); } } else { return(View(request)); } }
public ActionResult TrackByItem(TrackByItemRequest request) { // if (ModelState.IsValid) { try { // Session["TrackBy"] = request.TrackBy; //Validate string input = encodeInput(request.TrackingNumbers); if (input.Length == 0) { ModelState.AddModelError("", "Please enter valid tracking numbers."); return(View(request)); } string[] numbers = input.Split(Convert.ToChar(13)); if (numbers.Length > 10) { ModelState.AddModelError("", "Please limit your search to 10 items."); return(View(request)); } //Get tracking details for all items and retain in Session state string clientNumber = null, vendorNumber = null; ProfileBase profile = System.Web.HttpContext.Current.Profile; if (profile["ClientVendorID"].ToString() != "000" && profile["Type"].ToString().ToLower() == "client") { clientNumber = profile["ClientVendorID"].ToString(); } else if (profile["ClientVendorID"].ToString() != "000" && profile["Type"].ToString().ToLower() == "vendor") { vendorNumber = profile["ClientVendorID"].ToString(); } TrackingItems items = new TrackingItems(); switch (request.TrackBy) { case SEARCHBY_LABEL: items = new EnterpriseGateway().TrackItemsByLabelNumber(numbers, clientNumber, vendorNumber); break; case SEARCHBY_PLATE: items = new EnterpriseGateway().TrackItemsByPlateNumber(numbers, clientNumber, vendorNumber); break; default: items = new EnterpriseGateway().TrackItemsByCartonNumber(numbers, clientNumber, vendorNumber); break; } Session["TrackData"] = items; //Redirect to appropriate UI if (items.Count == 0) { ModelState.AddModelError("", "Carton(s) not found. Please verify the tracking number(s) and retry."); return(View(request)); } //else if (items.Count == 1) // return RedirectToAction("ItemDetail","Tracking",new { itemNumber = items[0].ItemNumber.Trim() }); else if (items.Count > 0) { return(RedirectToAction("ItemSummary", "Tracking")); } else { return(View(request)); } } catch (Exception ex) { ModelState.AddModelError("", ex); return(View(request)); } } else { return(View(request)); } }