Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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 }));
        }