public IActionResult Create(FoodTruck newTruck)
        {
            if (ModelState.IsValid == false)
            {
                return(View("New")); // display error messages
            }

            // associate newTruck with the logged in user
            // this user id could also have been passed in as a URL param or a hidden input which would auto assign the id. URL param would have to be named userId for auto assign to work
            newTruck.UserId = (int)uid;
            db.FoodTrucks.Add(newTruck);
            db.SaveChanges();

            return(RedirectToAction("All"));
        }
        public void Execute(RecipeCreateCommand command)
        {
            var validator = new RecipeCreateValidator();

            var results = validator.Validate(command);

            if (results.IsValid)
            {
                var recipe = new Recipe();

                recipe.Id          = command.Id;
                recipe.Name        = command.Name;
                recipe.Description = command.Description;

                recipe.SetCreated(_userSession);
                recipe.SetUpdated(_userSession);

                _context.Recipes.Add(recipe);

                foreach (var ingrediant in command.Ingrediants)
                {
                    ingrediant.SetCreated(_userSession);
                    ingrediant.SetUpdated(_userSession);
                }

                _context.Ingrediants.AddRange(command.Ingrediants);

                _context.SaveChanges();

                return;
            }
        }
Exemple #3
0
        public IActionResult Register(User newUser)
        {
            if (ModelState.IsValid == false)
            {
                return(View("Index")); // to display error messages
            }

            if (db.Users.Any(user => user.Email == newUser.Email))
            {
                ModelState.AddModelError("Email", "is taken");
                return(View("Index")); // to display error messages
            }

            // hash pw
            PasswordHasher <User> hasher = new PasswordHasher <User>();

            newUser.Password = hasher.HashPassword(newUser, newUser.Password);

            db.Users.Add(newUser);
            db.SaveChanges();

            HttpContext.Session.SetInt32("UserId", newUser.UserId);
            HttpContext.Session.SetString("FullName", newUser.FullName());
            return(RedirectToAction("All", "FoodTruck"));
        }
Exemple #4
0
        public void Setup()
        {
            // Setup DB conmtext and provider
            Mock <ILogger <FoodTruckProvider> > loggerMock = new Mock <ILogger <FoodTruckProvider> >();

            foodTruckProviderLogger = loggerMock.Object;


            var dbOptions = new DbContextOptionsBuilder <FoodTruckContext>()
                            .UseInMemoryDatabase(databaseName: "FoodTrucks")
                            .Options;

            foodTruckContext  = new FoodTruckContext(dbOptions);
            foodTruckProvider = new FoodTruckProvider(foodTruckProviderLogger, foodTruckContext);

            // Seed test data
            CsvParserOptions csvParserOptions = new CsvParserOptions(true, ',');
            var csvParser = new CsvParser <Core.Models.FoodTruck>(csvParserOptions, new CsvFoodTruckMapping());
            var records   = csvParser.ReadFromFile("Resources/Mobile_Food_Facility_Permit.csv", Encoding.UTF8).ToList();

            foreach (var record in records)
            {
                if (record.IsValid)
                {
                    foodTruckContext.FoodTrucks.Add(record.Result);
                }
            }

            foodTruckContext.SaveChanges();
        }
Exemple #5
0
        /// <summary>
        /// Parse and store the data records from the food truck CSV
        /// </summary>
        /// <param name="context"></param>
        private void InitData(FoodTruckContext context)
        {
            CsvParserOptions csvParserOptions = new CsvParserOptions(true, ',');
            var csvParser = new CsvParser <Core.Models.FoodTruck>(csvParserOptions, new CsvFoodTruckMapping());
            var records   = csvParser.ReadFromFile("Resources/Mobile_Food_Facility_Permit.csv", Encoding.UTF8).ToList();

            foreach (var record in records)
            {
                if (record.IsValid)
                {
                    context.FoodTrucks.Add(record.Result);
                }
                else
                {
                    Log.Information($"Invalid record: {record.Error}");
                }
            }

            context.SaveChanges();
        }