public ActionResult CreateMultipleMarkets(int?id) { if (id is null) { return(View("Errors")); } var city = db.Places.FirstOrDefault(m => m.Id == id); if (city is null) { return(View("Errors")); } var model = new AdminMarketsPlaces_CreateMultipleMarketsViewModel { Delimiters = new Dictionary <string, int>(), PlaceId = city.Id, PlaceName = city.Name }; model.Delimiters.Add("Comma ','", 1); model.Delimiters.Add("Colon ';'", 2); model.Delimiters.Add("Space ' '", 3); model.Delimiters.Add("Newline '\n'", 4); return(View(model)); }
public ActionResult CreateMultipleMarkets(AdminMarketsPlaces_CreateMultipleMarketsViewModel model) { if (ModelState.IsValid) { char delimiter = '\0'; switch (model.Delimiter) { case 1: { delimiter = ','; break; } case 2: { delimiter = ';'; break; } case 3: { delimiter = ' '; break; } case 4: { delimiter = '\n'; break; } } var markets = model.Markets.Split(delimiter).Select(s => s.Trim()).ToArray(); foreach (var market in markets) { if (db.Markets.FirstOrDefault(m => m.Name == market && m.PlaceId == model.PlaceId) is null) { db.Markets.Add(new Market { Name = market, PlaceId = model.PlaceId }); } } db.SaveChanges(); return(RedirectToAction("CityDetails", new { id = model.PlaceId })); } return(RedirectToAction("CreateMultipleMarkets", new { id = model.PlaceId })); }