public ActionResult SaveNetworkAs(NetworkViewModel model) { using (var c = new DataModelContext()) { var net = c.Networks.Find(model.ID); net.Name = model.Name; net.LastEdit = DateTime.Now; c.SaveChanges(); } return TempEdit(model.ID, 0); }
public JsonResult removeNode(NetworkViewModel model) { ICollection<Node> nodeArray = new List<Node>(); ICollection<Link> linkArray = new List<Link>(); ICollection<Order> orderArray = new List<Order>(); killOptimization(model.ID); using(var c = new DataModelContext()) { foreach(Node n in c.Networks.Find(model.ID).Nodes) { if(n.StationCode == model.NewNode.StationCode) { nodeArray.Add(n); } } foreach(Link l in c.Networks.Find(model.ID).Links) { if(l.From.StationCode == model.NewNode.StationCode || l.To.StationCode == model.NewNode.StationCode) { linkArray.Add(l); } } foreach(Order o in c.Networks.Find(model.ID).Orders) { if(o.Origin.StationCode == model.NewNode.StationCode || o.Destination.StationCode == model.NewNode.StationCode) { orderArray.Add(o); } } var net = c.Networks.Find(model.ID); foreach(Node n in nodeArray) { net.Nodes.Remove(n); } foreach(Link l in linkArray) { net.Links.Remove(l); } foreach(Order o in orderArray) { net.Orders.Remove(o); } net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success=true }); }
public JsonResult removeOrder(NetworkViewModel model) { ICollection<Order> orderArray = new List<Order>(); killOptimization(model.ID); using(var c = new DataModelContext()) { var net = c.Networks .Include("Orders.Origin") .Include("Orders.Destination") .FirstOrDefault(n => n.ID == model.ID); foreach(Order o in net.Orders) { Order whyistherenoorder = o; if(o.Origin.StationCode == model.NewOrder.Origin.StationCode && o.Destination.StationCode == model.NewOrder.Destination.StationCode) { orderArray.Add(o); } } foreach(Order o in orderArray) { net.Orders.Remove(o); } net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success=true }); }
public JsonResult editOrder(NetworkViewModel model) { ICollection<Order> orderArray = new List<Order>(); killOptimization(model.ID); using (var c = new DataModelContext()) { foreach (Order n in c.Networks.Find(model.ID).Orders) { if (n.ID == model.NewOrder.ID) { foreach (Node node in c.Networks.Find(model.ID).Nodes) { if (node.StationCode == model.NewOrder.Origin.StationCode) { n.Origin = node; } else if (node.StationCode == model.NewOrder.Destination.StationCode) { n.Destination = node; } } n.Revenue = model.NewOrder.Revenue; n.Cars = model.NewOrder.Cars; } } var net = c.Networks.Find(model.ID); net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success = true }); }
public JsonResult removeLink(NetworkViewModel model) { killOptimization(model.ID); ICollection<Link> linkArray = new List<Link>(); using(var c = new DataModelContext()) { var net = c.Networks.Find(model.ID); foreach(Link l in net.Links) { if(l.From.StationCode == model.NewLink.From.StationCode && l.To.StationCode == model.NewLink.To.StationCode) { linkArray.Add(l); } if (!model.IsOneDirectional) { if (l.To.StationCode == model.NewLink.From.StationCode && l.From.StationCode == model.NewLink.To.StationCode) { linkArray.Add(l); } } } foreach(Link l in linkArray) { net.Links.Remove(l); } net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success=true }); }
public ActionResult editNetwork(NetworkViewModel model) { killOptimization(model.ID); using (var c = new DataModelContext()) { var net = c.Networks.Find(model.ID); net.MaxCarsPerTrain = model.MaxCarsPerTrain; net.NonFuelCostPerMile = model.NonFuelCostPerMile; net.FuelCostPerMile = model.FuelCostPerMile; net.CarCostPerMile = model.CarCostPerMile; net.OptimizationResult = null; net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success = true }); }
public JsonResult editNode(NetworkViewModel model) { ICollection<Node> nodeArray = new List<Node>(); killOptimization(model.ID); using (var c = new DataModelContext()) { foreach (Node n in c.Networks.Find(model.ID).Nodes) { if (n.StationCode == model.NewNode.StationCode) { n.Name = model.NewNode.Name; n.CarCapacity = model.NewNode.CarCapacity; n.Location = model.NewNode.Location; } } var net = c.Networks.Find(model.ID); net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success = true }); }
public JsonResult addLink(NetworkViewModel model) { Link newLink = model.NewLink; Link newLink2 = model.NewLink; Node to = new Node(); Node from = new Node(); Node to2 = new Node(); Node from2 = new Node(); killOptimization(model.ID); using(var c = new DataModelContext()) { foreach(Node n in c.Networks.Find(model.ID).Nodes) { if(n.StationCode == model.NewLink.To.StationCode) { to = n; } else if(n.StationCode == model.NewLink.From.StationCode) { from = n; } } newLink.From = from; newLink.To = to; try { var net = c.Networks.Find(model.ID); net.Links.Add(newLink); net.LastEdit = DateTime.Now; } catch(Exception e) { throw e; } c.SaveChanges(); } if (!model.IsOneDirectional) { using (var d = new DataModelContext()) { foreach (Node n in d.Networks.Find(model.ID).Nodes) { if (n.StationCode == model.NewLink.To.StationCode) { to2 = n; } else if (n.StationCode == model.NewLink.From.StationCode) { from2 = n; } } newLink2.From = to2; newLink2.To = from2; try { var net = d.Networks.Find(model.ID); net.Links.Add(newLink2); net.LastEdit = DateTime.Now; } catch (Exception e) { throw e; } d.SaveChanges(); } } return Json(new { success=true }); }
public JsonResult editLink(NetworkViewModel model) { ICollection<Link> linkArray = new List<Link>(); killOptimization(model.ID); using (var c = new DataModelContext()) { foreach (Link n in c.Networks.Find(model.ID).Links) { if (n.ID == model.NewLink.ID) { foreach (Node node in c.Networks.Find(model.ID).Nodes) { if (node.StationCode == model.NewLink.From.StationCode) { n.From = node; } else if (node.StationCode == model.NewLink.To.StationCode) { n.To = node; } } n.FuelAdjustment = model.NewLink.FuelAdjustment; n.Distance = model.NewLink.Distance; n.MaxTrains = model.NewLink.MaxTrains; } } var net = c.Networks.Find(model.ID); net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success = true }); }
public JsonResult addOrder(NetworkViewModel model) { Order newOrder = model.NewOrder; Node to = new Node(); Node from = new Node(); killOptimization(model.ID); using(var c = new DataModelContext()) { foreach(Node n in c.Networks.Find(model.ID).Nodes) { if(n.StationCode == model.NewOrder.Destination.StationCode) { to = n; } else if(n.StationCode == model.NewOrder.Origin.StationCode) { from = n; } } newOrder.Destination = to; newOrder.Origin = from; var net = c.Networks.Find(model.ID); net.Orders.Add(newOrder); net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success=true }); }
public ActionResult View(long id) { var nvm = new NetworkViewModel(); using(var c = new DataModelContext()) { var network = c.Networks.Find(id); if(network == null) { TempData["Alert"] = "The selected network does not exist."; return RedirectToAction("Index"); } List<Node> tempList = (from n in network.Nodes where n.StationCode != null select n).ToList(); nvm.ID = network.ID; nvm.Nodes = network.Nodes; nvm.Links = network.Links; nvm.sCodeList = tempList; nvm.Revision = network.Revision; var nameNet = network; while(nameNet.Parent != null && nameNet.Name == null) nameNet = nameNet.Parent; nvm.Name = nameNet.Name; if(network.OptimizationResult == null) { nvm.OutOfDate = false; nvm.Optimized = false; } else { nvm.OutOfDate = network.OptimizationResult.OutOfDate; nvm.Optimized = true; } } return View("View", nvm); }
public JsonResult addNode(NetworkViewModel model) { Node newNode = model.NewNode; killOptimization(model.ID); using(var c = new DataModelContext()) { var net = c.Networks.Find(model.ID); net.Nodes.Add(newNode); net.LastEdit = DateTime.Now; c.SaveChanges(); } return Json(new { success=true }); }