예제 #1
0
        public ActionResult Edit(int guid)
        {
            Models.CarraraSQL.Route model      = CarraraSQL.Routes.Find(guid);
            RouteValueDictionary    parameters = Request.QueryString.ToRouteValues();

            if (model == null)
            {
                TempData["Page.Title"] = "Unable to Locate Route with Id " + guid.ToString() + "!";
                return(RedirectToAction("Index", parameters));
            }
            Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Edit " + model.RouteName;
            return(View("Manage", model));
        }
예제 #2
0
        public ActionResult Edit(Models.CarraraSQL.Route model)
        {
            RouteValueDictionary parameters = Request.QueryString.ToRouteValues();

            if (model.Action == "Delete")
            {
                Models.CarraraSQL.Route entity = CarraraSQL.Routes.Find(model.RouteID);
                if (entity.Jobs.Any() ||
                    entity.Loads.Any() ||
                    entity.RouteMileages.Any())
                {
                    Page.Title   = "The Route Is In Use And Was NOT Deleted!";
                    Page.Message = "Set the Route to Inactive if you do not intend to use this Route again.";
                    return(View("Manage", model));
                }
                try
                {
                    CarraraSQL.Routes.Attach(model);
                    CarraraSQL.Routes.Remove(model);
                    CarraraSQL.SaveChanges();
                    HttpContext.Cache.Remove("RoutesSelectList");
                    TempData["Page.Title"] = "The Route Was Deleted Successfully";
                    return(RedirectToAction("Index", parameters));
                }
                catch (Exception ex)
                {
                    Page.Title = "The Route Was NOT Deleted! " + ex.Message;
                    return(View("Manage", model));
                }
            }
            if (model.Action == "Mileage")
            {
                return(RedirectToAction("Index", "RouteMileage", new { guid = model.RouteID }));
            }
            if (ModelState.IsValid)
            {
                CarraraSQL.Entry(model).State = EntityState.Modified;
                CarraraSQL.SaveChanges();
                TempData["Page.Title"] = "The Route Was Updated Successfully";
                HttpContext.Cache.Remove("RoutesSelectList");
                return(RedirectToAction("Index", parameters));
            }
            Page.Title   = "The Route Was NOT Updated!";
            Page.Message = "Please correct the following errors:";
            return(View("Manage", model));
        }
예제 #3
0
        public ActionResult Add(Models.CarraraSQL.Route model)
        {
            RouteValueDictionary parameters = Request.QueryString.ToRouteValues();

            if (ModelState.IsValid)
            {
                CarraraSQL.Routes.Add(model);
                CarraraSQL.SaveChanges();
                HttpContext.Cache.Remove("RoutesSelectList");
                TempData["Page.Title"] = "The Route Was Added Successfully!";
                return(RedirectToAction("Index", parameters));
            }
            // Failure is always an option...
            Page.Title   = "The Route Was NOT Added!";
            Page.Message = "Please correct the following errors:";
            return(View("Manage", model));
        }
        public ActionResult Index(int?guid, string order, int?page, int?show, int?state, string sort)
        {
            IEnumerable <RouteMileage> model = CarraraSQL.RouteMileages;

            // Filter by active/inactive
            if (state.HasValue)
            {
                model = model.Where(x => x.StateID == state.Value);
            }
            if (guid.HasValue)
            {
                model = model.Where(x => x.RouteID == guid.Value);
            }
            // Sort
            order = string.IsNullOrEmpty(order) ? "asc" : order;
            sort  = string.IsNullOrEmpty(sort) ? "id" : sort;
            bool asc = order == "asc";

            switch (sort)
            {
            case "state":
                model = asc ? model.OrderBy(x => x.State.StateName) : model.OrderByDescending(x => x.State.StateName);
                break;

            case "route":
                model = asc ? model.OrderBy(x => x.Route.RouteName) : model.OrderByDescending(x => x.Route.RouteName);
                break;

            case "mileage":
                model = asc ? model.OrderBy(x => x.Mileage) : model.OrderByDescending(x => x.Mileage);
                break;

            case "id":
                break;

            default:
                model = asc ? model.OrderBy(x => x.RouteMileageID) : model.OrderByDescending(x => x.RouteMileageID);
                break;
            }
            // Return Results
            if (guid.HasValue)
            {
                Models.CarraraSQL.Route route = CarraraSQL.Routes.Find(guid.Value);
                Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Manage Route Mileages for the " + route.RouteName + " Route";
            }
            else
            {
                Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Manage Route Mileages";
            }
            page = page ?? 1;
            show = show ?? 40;
            int count = model.Count() == 0 ? 1 : model.Count();

            if (show.Value > count || show == 0)
            {
                show = count;
                page = 1;
            }
            int?max = (count / show) + 1;

            if (page > max)
            {
                page = max;
            }
            return(View(model.ToPagedList(page.Value, show.Value)));
        }