public Product DeleteProduct(int productID)
        {
            Product dbEntry = context.Products.Find(productID);

            if (dbEntry != null)
            {
                context.Products.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
Beispiel #2
0
        public void SaveProduct(Product product)
        {
            if (product.ProductID == 0)
            {
                context.Products.Add(product);
            }
            else
            {
                Product dbEntry = context.Products.Find(product.ProductID);

                if (dbEntry != null)
                {
                    dbEntry.Name          = product.Name;
                    dbEntry.Description   = product.Description;
                    dbEntry.Price         = product.Price;
                    dbEntry.Category      = product.Category;
                    dbEntry.ImageData     = product.ImageData;
                    dbEntry.ImageMimeType = product.ImageMimeType;
                }
            }
            context.SaveChanges();
        }
Beispiel #3
0
        public ActionResult Create(Product product)
        {
            try
            {
                using (var context = new SportsStoreContext())
                {
                    context.Products.Add(product);
                    context.SaveChanges();
                }

                return(RedirectToAction("List"));
            }
            catch
            {
                return(View());
            }
        }
Beispiel #4
0
        public static void UpdateListPermissions()
        {
            SportsStoreContext db = new SportsStoreContext();

            Assembly asm         = Assembly.GetExecutingAssembly();
            var      permissions = (from type in asm.GetTypes()
                                    where typeof(Controller).IsAssignableFrom(type)
                                    from method in type.GetMethods()
                                    where method.IsDefined(typeof(AuthorizePermissionAttribute))
                                    select new Permission()
            {
                Name = type.ToString() + method.Name,
                Description = method.GetCustomAttribute <AuthorizePermissionAttribute>().Description
            }).ToList();

            foreach (var dbPermission in db.Permissions)
            {
                var newPermission = permissions.FirstOrDefault(attributePermission =>
                                                               dbPermission.Name.Contains(attributePermission.Name) &&
                                                               attributePermission.Description == dbPermission.Description);

                if (newPermission == null)
                {
                    //Update the current permissions
                    dbPermission.Description = newPermission.Description;
                    permissions.Remove(newPermission);
                }
                else
                {
                    //Removes unused permission
                    db.Permissions.Remove(dbPermission);
                }
            }

            foreach (var permission in permissions)
            {
                db.Permissions.Add(permission);
            }
            db.SaveChanges();
        }
Beispiel #5
0
        public static void EnsurePopulated(IApplicationBuilder app)
        {
            SportsStoreContext context = app.ApplicationServices
                                         .GetRequiredService <SportsStoreContext>();

            var userManager = app.ApplicationServices
                              .GetRequiredService <UserManager <IdentityUser> >();

            if (!context.Products.Any())
            {
                context.Products.AddRange(
                    new Product
                {
                    Name        = "Kayak",
                    Description = "A boat for one person",
                    Category    = "Watersports",
                    Price       = 275
                },
                    new Product
                {
                    Name        = "Lifejacket",
                    Description = "Protective and fashionable",
                    Category    = "Watersports",
                    Price       = 48.95m
                },
                    new Product
                {
                    Name        = "Soccer Ball",
                    Description = "FIFA-approved size and weight",
                    Category    = "Soccer",
                    Price       = 19.50m
                },
                    new Product
                {
                    Name        = "Corner Flags",
                    Description = "Give your playing field a professional touch",
                    Category    = "Soccer",
                    Price       = 34.95m
                },
                    new Product
                {
                    Name        = "Stadium",
                    Description = "Flat-packed 35,000-seat stadium",
                    Category    = "Soccer",
                    Price       = 79500
                },
                    new Product
                {
                    Name        = "Thinking Cap",
                    Description = "Improve brain efficiency by 75%",
                    Category    = "Chess",
                    Price       = 16
                },
                    new Product
                {
                    Name        = "Unsteady Chair",
                    Description = "Secretly give your opponent a disadvantage",
                    Category    = "Chess",
                    Price       = 29.95m
                },
                    new Product
                {
                    Name        = "Human Chess Board",
                    Description = "A fun game for the family",
                    Category    = "Chess",
                    Price       = 75
                },
                    new Product
                {
                    Name        = "Bling-Bling King",
                    Description = "Gold-plated, diamond-studded King",
                    Category    = "Chess",
                    Price       = 1200
                }
                    );
                context.SaveChanges();
            }

            if (userManager.FindByEmailAsync("*****@*****.**").GetAwaiter().GetResult() == null)
            {
                var user = new IdentityUser
                {
                    UserName       = "******",
                    Email          = "*****@*****.**",
                    EmailConfirmed = true,
                    LockoutEnabled = false
                };
                userManager.CreateAsync(user,
                                        "Password@123").GetAwaiter().GetResult();
            }
        }