public ActionResult CreateMultipleStates(int?id) { if (id is null) { return(View("Error")); } var country = db.Countries.FirstOrDefault(m => m.Id == id); if (country is null) { return(View("Error")); } var model = new AdminMarketsPlaces_CreateMultipleStatesViewModel { CountryName = country.Name, Delimiters = new Dictionary <string, int>(), CountryId = country.Id }; 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 CreateMultipleStates(AdminMarketsPlaces_CreateMultipleStatesViewModel 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 states = model.States.Split(delimiter).Select(s => s.Trim()).ToArray(); foreach (var state in states) { if (db.States.FirstOrDefault(m => m.Name == state && m.CountryId == model.CountryId) is null) { db.States.Add(new State { CountryId = model.CountryId, Name = state }); } } db.SaveChanges(); return(RedirectToAction("CountryDetails", new { id = model.CountryId })); } return(RedirectToAction("CreateMultipleStates")); }