示例#1
0
        public void grdRoles_UpdatItem(string Id)
        {
            IdentityRole role = (from r in roleMgr.Roles
                                 where r.Id == Id
                                 select r).SingleOrDefault();

            TryUpdateModel(role);
            IdentityResult result = roleMgr.Update(role);

            if (result.Succeeded)
            {
                Reload();
            }
        }
示例#2
0
        public JsonResult Update(string model)
        {
            string roleName = string.Empty;

            try
            {
                RoleManagementViewModel role = JsonConvert.DeserializeObject <RoleManagementViewModel>(model);
                var roleToUpdate             = _roleManager.Roles.Where(r => r.Id == role.RoleId).First();
                if (roleToUpdate != null)
                {
                    roleName          = roleToUpdate.Name;
                    roleToUpdate.Name = role.RoleName;
                    roleToUpdate.Id   = role.RoleId;
                    IdentityResult result = _roleManager.Update(roleToUpdate);
                    if (result == IdentityResult.Success)
                    {
                        Response.StatusCode = (int)System.Net.HttpStatusCode.OK;
                        return(Json(role, JsonRequestBehavior.AllowGet));
                    }
                }
                throw new System.Exception("Role does not exist.");
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError;
                return(Json("Update role '" + roleName + "' fails. " + ex.Message, JsonRequestBehavior.AllowGet));
            }
        }
示例#3
0
        public void ApplicationRoleManager_AddUpdateDelete_Test()
        {
            var _roleTst = new ApplicationRole()
            {
                Id = "tst", Name = "Test"
            };

            _sut.Create(_roleTst);
            var _role = _sut.FindByName(_roleTst.Name);

            Assert.AreEqual(_role.Id, _roleTst.Id);
            var _roleById = _sut.FindById(_roleTst.Id);

            Assert.AreEqual(_roleById.Name, _roleTst.Name);
            _roleTst.Name = "Tests";
            _sut.Update(_roleTst);
            _roleById = _sut.FindById(_roleTst.Id);
            Assert.AreEqual(_roleById.Name, _roleTst.Name);
            _sut.Delete(_roleTst);
            _roleById = _sut.FindById(_roleTst.Id);
            Assert.IsNull(_roleById);
            //Task.Run(async () =>
            //{
            //}).GetAwaiter().GetResult();
        }
示例#4
0
 public ActionResult Edit([Bind(Include = "Id,Name")] RoleInt role)
 {
     if (ModelState.IsValid)
     {
         _roleManager.Update(role);
         return(RedirectToAction("Index"));
     }
     return(View(role));
 }
示例#5
0
        public override void PerformModification(IDictionary <string, ContentModifierForm> modifierForm, ApplicationRole datum,
                                                 DatumModifyOperation operation,
                                                 Type datumType)
        {
            IdentityResult ir    = null;
            var            hasOp = false;

            if (operation.IsCreateOrUpdateOperation())
            {
                var f = modifierForm[FORM_KEY].DirectCastTo <RoleDatumModifierForm>();
                datum.Name        = f.Name;
                datum.Description = f.Description;
                ir = operation.IsCreateOperation() ? _roleMgr.Create(datum) : _roleMgr.Update(datum);
                if (ir.Succeeded)
                {
                    foreach (var perm in _permMgr.AllPermissions)
                    {
                        var pmap = _dbContext.ProtoPermissionsMaps
                                   .FirstOrDefault(x => x.RoleName == datum.Name && x.PermissionId == perm.Id);
                        if (pmap == null)
                        {
                            pmap = new ProtoPermissionsMap {
                                RoleName     = datum.Name,
                                PermissionId = perm.Id
                            };
                            _dbContext.ProtoPermissionsMaps.Add(pmap);
                        }
                        pmap.HasPermission = f.Permissions.Contains(perm.Id);
                    }
                    _dbContext.ThisDbContext().SaveChanges();
                }
                hasOp = true;
            }
            else if (operation.IsDeleteOperation())
            {
                ir = _roleMgr.Delete(datum);
                if (ir.Succeeded)
                {
                    var pmaps = _dbContext.ProtoPermissionsMaps.Where(x => x.RoleName == datum.Name).ToList();
                    foreach (var pmap in pmaps)
                    {
                        _dbContext.ProtoPermissionsMaps.Remove(pmap);
                    }
                }
                hasOp = true;
            }
            if (hasOp)
            {
                if (!ir.Succeeded)
                {
                    throw new Exception(string.Join("; ", ir.Errors));
                }
            }
        }
示例#6
0
        public virtual ActionResult Edit(RoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                var role = _roleManager.Roles.FirstOrDefault(x => x.Id == model.Id);
                role.Name = model.Name;
                _roleManager.Update(role);

                return(RedirectToAction(MVC.Account.Roles.List()));
            }
            return(View(model));
        }
示例#7
0
 public ActionResult EditRole(RoleViewModel role)
 {
     if (ModelState.IsValid)
     {
         RoleManager.Update(new IdentityRole()
         {
             Id = role.Id, Name = role.Name
         });
         return(RedirectToAction("ManageRoles"));
     }
     return(View(role));
 }
示例#8
0
        public ActionResult Edit(RoleViewModel roleViewModel)
        {
            if (ModelState.IsValid)
            {
                var role = roleMnager.FindById(roleViewModel.Id);
                role.Name = roleViewModel.Name;
                roleMnager.Update(role);

                return(RedirectToAction("Index"));
            }

            return(View(roleViewModel));
        }
示例#9
0
        public ActionResult Save(ApplicationRoleVM boVM)
        {
            if (ModelState.IsValid)
            {
                var bo    = _RoleManager.FindById(boVM.ID.ToString());
                var isNew = false;
                if (bo == null)
                {
                    bo    = new ApplicationRole();
                    bo.Id = boVM.ID.ToString();
                    isNew = true;
                }

                boVM.MapToBo(bo);

                if (isNew)
                {
                    _RoleManager.Create(bo);
                }
                else
                {
                    _RoleManager.Update(bo);
                }

                return(Json(PageComponentRepository <ApplicationRoleVM> .SaveOK(true, "1", "")));
            }
            else
            {
                var vItems = new List <ValidatorResult>();
                foreach (var item in ModelState)
                {
                    if (item.Value.Errors != null)
                    {
                        foreach (var vItem in item.Value.Errors)
                        {
                            var errItem = new ValidatorResult();
                            errItem.Name         = item.Key;
                            errItem.ErrorMessage = vItem.ErrorMessage;
                            vItems.Add(errItem);
                        }
                    }
                }

                var editor = PageComponentRepository <ApplicationRoleVM> .UpdateCreateOrEditDialog(boVM, false, vItems).InnerHtmlContent;

                return(Json(editor));
            }
        }
示例#10
0
        public ActionResult EditRole([Bind(Include = "Id, Name")] RoleViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = RoleManager.Update(new IdentityRole()
                {
                    Id = model.Id, Name = model.Name
                });
                if (result.Succeeded)
                {
                    return(RedirectToAction("Roles"));
                }
            }

            ViewBag.ErrorMessage = "Unable to edit Role. Please try again.";
            return(View(model));
        }
        protected override void Seed(S3Train.Domain.ApplicationDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.

            #region Create User Roles

            var roleStoreManager = new ApplicationRoleStoreManager(context);
            var roleManager      = new ApplicationRoleManager(roleStoreManager);

            var roleExist = roleManager.RoleExists(DefaultRole.Administration);
            if (!roleExist)
            {
                var roleId = Guid.NewGuid().ToString();
                roleManager.Create(new ApplicationRole
                {
                    Id          = roleId,
                    Name        = DefaultRole.Administration,
                    Description = DefaultRole.Administration
                });
            }

            var listRoles = Enum.GetNames(typeof(UserRoles)).ToList();

            foreach (var role in listRoles)
            {
                var exists = roleManager.RoleExists(role);
                if (!exists)
                {
                    var roleId = Guid.NewGuid().ToString();
                    roleManager.Create(new ApplicationRole
                    {
                        Id          = roleId,
                        Name        = role,
                        Description = (Enum.Parse(typeof(UserRoles), role)).GetDecription()
                    });
                }
                else
                {
                    roleManager.Update(new ApplicationRole
                    {
                        Name        = role,
                        Description = (Enum.Parse(typeof(UserRoles), role)).GetDecription()
                    });
                }
            }


            var userStoreManager = new ApplicationUserStoreManager(context);
            var userManager      = new ApplicationUserManager(userStoreManager);

            var user = userManager.FindByName(DefaultUser.Administration);
            if (user == null)
            {
                var    userId          = Guid.NewGuid().ToString();
                var    passwordHash    = new PasswordHasher();
                string password        = passwordHash.HashPassword(DefaultUser.Administration);
                var    applicationUser = new ApplicationUser
                {
                    Id                   = userId,
                    UserName             = DefaultUser.Administration,
                    Email                = "*****@*****.**",
                    FullName             = DefaultUser.Administration,
                    PasswordHash         = password,
                    EmailConfirmed       = true,
                    PhoneNumberConfirmed = false,
                    TwoFactorEnabled     = false,
                    LockoutEnabled       = false,
                    AccessFailedCount    = 0
                };
                userManager.Create(applicationUser);
                userManager.AddToRoles(applicationUser.Id, DefaultRole.Administration);
            }

            #endregion

            var categories = new List <Category>
            {
                new Category
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    Name        = "Category One",
                    Description = "Lorem ipsum",
                    Status      = "default"
                },
                new Category
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    Name        = "Category Two",
                    Description = "Lorem ipsum",
                    Status      = "default"
                },
                new Category
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    Name        = "Category Three",
                    Description = "Lorem ipsum",
                    Status      = "default"
                },
                new Category
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    Name        = "Category Four",
                    Description = "Lorem ipsum",
                    Status      = "default"
                },
            };
            categories.ForEach(x => context.Categories.AddOrUpdate(c => c.Name, x));
            context.SaveChanges();

            var products = new List <Product>
            {
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category One", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product One",
                    Price       = 24.99m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = null
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category One", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product Two",
                    Price       = 13m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 5
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category Two", StringComparison.OrdinalIgnoreCase)).Id,
                    //ProductImagesId = "http://placehold.it/700x400"
                    Name        = "Product Three",
                    Price       = 33.15m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 1
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category Two", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product Four",
                    Price       = 16.27m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 3
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category Three", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product Five",
                    Price       = 10m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 4
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category Three", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product Six",
                    Price       = 18.02m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 4
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category Four", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product Seven",
                    Price       = 17.99m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 2
                },
                new Product
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    //CategoryId = categories.Single(x => x.Name.Equals("Category Four", StringComparison.OrdinalIgnoreCase)).Id,
                    //ImagePath = "http://placehold.it/700x400",
                    Name        = "Product Eight",
                    Price       = 21.35m,
                    Amount      = 10,
                    SKU         = "SKU",
                    Status      = "default",
                    Description = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!",
                    Rating      = 1
                },
            };
            products.ForEach(x => context.Products.AddOrUpdate(p => p.Name, x));
            context.SaveChanges();

            var productAds = new List <ProductAdvertisement>
            {
                new ProductAdvertisement
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    EventUrl        = "controller/action/1",
                    EventUrlCaption = string.Empty,
                    ImagePath       = "http://placehold.it/900x350",
                    Title           = "Adver One",
                    Description     = "Lorem ipsum",
                    AdType          = ProductAdvertisementType.SliderBanner
                },
                new ProductAdvertisement
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    EventUrl        = "controller/action/2",
                    EventUrlCaption = string.Empty,
                    ImagePath       = "http://placehold.it/900x350",
                    Title           = "Adver Two",
                    Description     = "Lorem ipsum",
                    AdType          = ProductAdvertisementType.SliderBanner
                },
                new ProductAdvertisement
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    EventUrl        = "controller/action/3",
                    EventUrlCaption = string.Empty,
                    ImagePath       = "http://placehold.it/900x350",
                    Title           = "Adver Three",
                    Description     = "Lorem ipsum",
                    AdType          = ProductAdvertisementType.SliderBanner
                },
                new ProductAdvertisement
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    EventUrl        = "controller/action/1",
                    EventUrlCaption = string.Empty,
                    ImagePath       = "http://placehold.it/900x350",
                    Title           = "Adver Four",
                    Description     = "Lorem ipsum",
                    AdType          = ProductAdvertisementType.MidHorRectangleBanner
                },
                new ProductAdvertisement
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    EventUrl        = "controller/action/1",
                    EventUrlCaption = string.Empty,
                    ImagePath       = "http://placehold.it/900x350",
                    Title           = "Adver Five",
                    Description     = "Lorem ipsum",
                    AdType          = ProductAdvertisementType.MidHorRectangleBanner
                },
            };
            productAds.ForEach(x => context.ProductAdvertisements.AddOrUpdate(p => p.Title, x));
            context.SaveChanges();

            var productImages = new List <ProductImage>
            {
                new ProductImage
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ImagePath   = "http://placehold.it/900x350",
                    ProductId   = products.Single(x => x.Name.Equals("Product One", StringComparison.OrdinalIgnoreCase)).Id,
                    Title       = "Image One",
                    Description = "Lorem ipsum",
                },
                new ProductImage
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ImagePath   = "http://placehold.it/900x350",
                    ProductId   = products.Single(x => x.Name.Equals("Product Two", StringComparison.OrdinalIgnoreCase)).Id,
                    Title       = "Image Two",
                    Description = "Lorem ipsum",
                },
                new ProductImage
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ImagePath   = "http://placehold.it/900x350",
                    ProductId   = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Id,
                    Title       = "Image Three",
                    Description = "Lorem ipsum",
                },
                new ProductImage
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ImagePath   = "http://placehold.it/900x350",
                    ProductId   = products.Single(x => x.Name.Equals("Product Four", StringComparison.OrdinalIgnoreCase)).Id,
                    Title       = "Image Four",
                    Description = "Lorem ipsum",
                },
            };
            productImages.ForEach(x => context.ProductImages.AddOrUpdate(p => p.Title, x));
            context.SaveChanges();

            var customers = new List <Customer>
            {
                new Customer
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    FullName    = "Customer One",
                    Email       = "Email One",
                    Phone       = "Phone",
                    ShipAddress = "Address",
                },
                new Customer
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    FullName    = "Customer Two",
                    Email       = "Email Two",
                    Phone       = "Phone",
                    ShipAddress = "Address",
                },
                new Customer
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    FullName    = "Customer Three",
                    Email       = "Email Three",
                    Phone       = "Phone",
                    ShipAddress = "Address",
                },
            };

            customers.ForEach(x => context.Customers.AddOrUpdate(p => p.Email, x));
            context.SaveChanges();

            var orders = new List <Order>
            {
                new Order
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    CustomerId = customers.Single(x => x.Email.Equals("Email One", StringComparison.OrdinalIgnoreCase)).Id,
                    Status     = "default",
                },

                new Order
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    CustomerId = customers.Single(x => x.Email.Equals("Email Two", StringComparison.OrdinalIgnoreCase)).Id,
                    Status     = "default",
                },

                new Order
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    CustomerId = customers.Single(x => x.Email.Equals("Email Two", StringComparison.OrdinalIgnoreCase)).Id,
                    Status     = "default",
                },
            };
            orders.ForEach(x => context.Orders.AddOrUpdate(p => p.Id, x));
            context.SaveChanges();

            var orderItems = new List <OrderItem>
            {
                new OrderItem
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ProductId = products.Single(x => x.Name.Equals("Product One", StringComparison.OrdinalIgnoreCase)).Id,
                    OrderId   = orders[1].Id,
                    Amount    = 1,
                    Price     = products.Single(x => x.Name.Equals("Product One", StringComparison.OrdinalIgnoreCase)).Price,
                },

                new OrderItem
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ProductId = products.Single(x => x.Name.Equals("Product Two", StringComparison.OrdinalIgnoreCase)).Id,
                    OrderId   = orders[2].Id,
                    Amount    = 1,
                    Price     = products.Single(x => x.Name.Equals("Product Two", StringComparison.OrdinalIgnoreCase)).Price,
                },

                new OrderItem
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ProductId = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Id,
                    OrderId   = orders[2].Id,
                    Amount    = 1,
                    Price     = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Price,
                },
                new OrderItem
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ProductId = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Id,
                    OrderId   = orders[1].Id,
                    Amount    = 1,
                    Price     = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Price,
                },
                new OrderItem
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ProductId = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Id,
                    OrderId   = orders[1].Id,
                    Amount    = 1,
                    Price     = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Price,
                },
                new OrderItem
                {
                    Id          = Guid.NewGuid().ToString(),
                    CreatedDate = DateTime.Now,
                    IsActive    = true,

                    ProductId = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Id,
                    OrderId   = orders[1].Id,
                    Amount    = 1,
                    Price     = products.Single(x => x.Name.Equals("Product Three", StringComparison.OrdinalIgnoreCase)).Price,
                },
            };
            orderItems.ForEach(x => context.OrderItems.AddOrUpdate(p => p.Id, x));
            context.SaveChanges();
        }