//[HttpPost] public ActionResult Collection(int id, string newCollectionList) { var collection = _context.Collection.SingleOrDefault(c => c.Id == id); var collectionPoints = _context.CollectionPoint.Where(cp => cp.CollectionId == id).ToList(); if (newCollectionList != null) { collectionPoints.Clear(); List <string> model = JsonConvert.DeserializeObject <List <string> >(newCollectionList); foreach (var list in model) { collectionPoints.Add(new CollectionPoint { Attribute = list, PointTypeId = 1, Comments = "", CollectionId = id }); } } var pointTypes = _context.PointType.ToList(); if (collection == null) { return(HttpNotFound()); } if (collectionPoints == null) { return(HttpNotFound()); } var viewModel = new CollectionAndPointViewModel { Collection = collection, CollectionPoints = collectionPoints, PointTypes = pointTypes }; return(View(viewModel)); }
public ActionResult NewPoints(int id) { var collection = _context.Collection.SingleOrDefault(c => c.Id == id); var collectionPoints = _context.CollectionPoint.Where(cp => cp.CollectionId == id).ToList(); if (collection == null) { return(HttpNotFound()); } if (collectionPoints == null) { return(HttpNotFound()); } var viewModel = new CollectionAndPointViewModel { Collection = collection, CollectionPoints = collectionPoints }; return(View(viewModel)); }
//[HttpPost] public ActionResult SaveCollectionPoint(CollectionAndPointViewModel viewModel) { foreach (CollectionPoint collectionPoint in viewModel.CollectionPoints) { if (collectionPoint.Id == 0) { _context.CollectionPoint.Add(collectionPoint); } else { var collectionPointDB = _context.CollectionPoint.Single(c => c.Id == collectionPoint.Id); collectionPointDB.Attribute = collectionPoint.Attribute; collectionPointDB.PointTypeId = collectionPoint.PointTypeId; collectionPointDB.Comments = collectionPoint.Comments; } } _context.SaveChanges(); TempData["message"] = "You successfully updated the ingestion " + viewModel.Collection.Name + " with the suggested changes"; //redirect to Collection return(RedirectToAction("Index", "Collection")); }