Exemple #1
0
        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));
        }
Exemple #2
0
        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"));
        }