public ActionResult Save(Package package) { if (!ModelState.IsValid) { var viewModel = new PackageFormViewModel(package); return(View("PackageForm", viewModel)); } try { var json = new WebClient().DownloadString("https://maps.googleapis.com/maps/api/geocode/json?address=" + package.Destination + "&key=AIzaSyBMVIteB6a_vtVSunhpk56yZWeTSGN2CkM"); var data = JObject.Parse(json); package.Latitude = (double)data["results"][0].SelectToken("geometry").SelectToken("location").SelectToken("lat"); package.Longitude = (double)data["results"][0].SelectToken("geometry").SelectToken("location").SelectToken("lng"); } catch (Exception e) { var viewModel = new PackageFormViewModel(package); ModelState.AddModelError("error_msg", "Destination does not exist"); return(View("PackageForm", viewModel)); } if (package.Id == 0) { _context.Packages.Add(package); } else { var packageInDb = _context.Packages.Single(p => p.Id == package.Id); packageInDb.Content = package.Content; packageInDb.Destination = package.Destination; packageInDb.Status = package.Status; if (package.Status == "Undelivered") { packageInDb.DateDelivered = null; } else { try { packageInDb.Status = "Delivered"; packageInDb.DateDelivered = DateTime.Now; // if route already been deleted catch var deliveryRouteToDelete = _context.DeliveryRoutes.Single(dr => dr.Package.Id == package.Id); _context.DeliveryRoutes.Remove(deliveryRouteToDelete); } catch (Exception e) { } } } _context.SaveChanges(); return(RedirectToAction("Index", "Package")); }
public ActionResult Edit(int id) { var package = _context.Packages.SingleOrDefault(p => p.Id == id); if (package == null) { return(HttpNotFound()); } var viewModel = new PackageFormViewModel(package); return(View("PackageForm", viewModel)); }
public ActionResult New() { var sizeOfPackage = _context.SizeOfPackages.ToList(); var chargeOfPackage = _context.ChargeOfPackages.ToList(); var viewModel = new PackageFormViewModel { SizeOfPackages = sizeOfPackage, ChargeOfPackages = chargeOfPackage }; return(View("PackagesForm", viewModel)); }
public ActionResult Save(Package package) { if (!ModelState.IsValid) { var viewModel = new PackageFormViewModel(package) { SizeOfPackages = _context.SizeOfPackages.ToList(), ChargeOfPackages = _context.ChargeOfPackages.ToList() }; return(View("PackagesForm", viewModel)); } if (package.Id == 0) { _context.Packages.Add(package); } else { var packageInDb = _context.Packages.Single(p => p.Id == package.Id); packageInDb.Sender = package.Sender; packageInDb.Receiver = package.Receiver; packageInDb.ReceiverAddress = package.ReceiverAddress; packageInDb.SerialNumber = package.SerialNumber; packageInDb.DateLeft = package.DateLeft; packageInDb.Phone = package.Phone; packageInDb.SizeOfPackageId = package.SizeOfPackageId; packageInDb.ChargeOfPackageId = package.ChargeOfPackageId; } _context.SaveChanges(); return(RedirectToAction("Index", "Packages")); }
public ActionResult New() { var viewModel = new PackageFormViewModel(); return(View("PackageForm", viewModel)); }