public TestsFixture() { genPassword = new PasswordHash(); var options = new DbContextOptionsBuilder <BoorgerdbContext>() .UseInMemoryDatabase(databaseName: "BoorgerTestingDb") .Options; db = new BoorgerdbContext(options); db.Tiers.Add(new Tier { Value = 15, Description = "Fifteen" }); db.SaveChanges(); //appEnvironment.WebRootPath hostingEnvFake.Setup(m => m.WebRootPath).Returns(@"F:\CSharp\Boorger\Boorger\wwwroot"); loggerFake.Setup(m => m.Setup(db)); loggerFake.Setup(m => m.AddToLogAsync(It.IsAny <string>())); sessionMock = new ConcurrentDictionary <string, object>(); sessionHelperMock.Setup(m => m.SetObjectAsJsonAsync(It.IsAny <string>(), It.IsAny <object>())) .Callback((string key, object value) => sessionMock.AddOrUpdate(key, value, (_key, oldValue) => value)); sessionHelperMock.Setup(m => m.RemoveAsync(It.IsAny <string>())).Callback((string key) => sessionMock.TryRemove(key, out _)); //setup of GetObjectFromJson<T> is completed through calling SetupSession(List<Type> types) with types to paste in T }
public AccountController(BoorgerdbContext context, [FromServices] ILogProvider _logger) { db = context; logger = _logger; logger.Setup(db); maxTier = db.Tiers.Max(u => u.Value); }
public ProductsController(BoorgerdbContext context, IHostingEnvironment appEnvironment, [FromServices] ILogProvider logger, [FromServices] ISessionHelper sessionHelper) { db = context; this.appEnvironment = appEnvironment; this.sessionHelper = sessionHelper; this.logger = logger; logger.Setup(db); }
/// <summary> /// Wraper for access to basic items from selected category /// </summary> /// <param name="db">EF DataBase context</param> /// <param name="categoryId">Category is being found by this Id</param> /// <returns>List of items from selected category</returns> private List <Item> GetBasicItemList(BoorgerdbContext db, int categoryId) { var itemsIdsFromCategory = db.ItemsToCategories .Where(x => x.CategoryId == categoryId) .Select(x => x.ItemId) .ToHashSet(); List <Item> basicItemsList = db.Items .Where(x => itemsIdsFromCategory.Contains(x.Id)) .ToList(); return(basicItemsList); }
/// <summary> /// Form display model from context and products /// </summary> /// <param name="db">EF DataBase context</param> /// <param name="basicItemsList">List of products</param> /// <param name="categoryId">Current category Id, <c>-1</c> if no category selected</param> /// <returns>Display model of selected items from selected category</returns> private async Task <DisplayModel> _GetDisplayModel(BoorgerdbContext db, List <Item> basicItemsList, int categoryId) { ItemModel[] items = await AgregateItemsIntoItemModel(db, basicItemsList); Category category = await db.Categories.SingleOrDefaultAsync(p => p.Id == categoryId); if (category == null) { category = new Category(-1, "Show all"); } List <Category> categories = db.Categories.ToList(); categories.Insert(0, new Category { Name = "Show all", Id = -1 }); return(new DisplayModel(items, categories, category)); }
public async Task <bool> SetItemIfNull(BoorgerdbContext dbContext) { if (Item != null || Id == null) { return(false); } else { Item = await dbContext.Items.FindAsync(Id); if (Item == null) { return(false); } else { return(true); } } }
/// <summary> /// Found relations from Item to LocalItem and FoodItem - wraps it in ItemModel /// </summary> /// <param name="db">EF DataBase context</param> /// <param name="basicItemsList">List of Item's</param> /// <returns></returns> private async Task <ItemModel[]> AgregateItemsIntoItemModel(BoorgerdbContext db, List <Item> basicItemsList) { ItemModel[] items = new ItemModel[basicItemsList.Count]; int counter = 0; foreach (Item basicItem in basicItemsList) { FoodItem foodItem = await db.FoodItems.FindAsync(basicItem.Id); LocalItem localItem = await db.LocalItems.FindAsync(basicItem.Id); ItemModel item = new ItemModel(basicItem, foodItem, localItem); items[counter] = item; counter++; } return(items); }
public AdminController(BoorgerdbContext context) { db = context; }
/// <summary> /// Setup DataBase context for log storage /// </summary> /// <param name="db">EF DataBase context</param> public void Setup(BoorgerdbContext db) { this.db = db; userId = Int32.Parse(httpContext.HttpContext.User.Claims.First(x => x.Type == "UserId").Value); adminUser = db.AdministratorUsers.FirstOrDefault(u => u.Id == userId); }
public CartController(BoorgerdbContext context, [FromServices] ISessionHelper sessionHelper) { db = context; this.sessionHelper = sessionHelper; }
/// <summary> /// Return grid display model of products in current category /// </summary> /// <param name="db">EF DataBase context</param> /// <param name="columns">Set number of columns in grid</param> /// /// <param name="currentCategory">Category that contains products</param> /// <returns>Grid display model of products in current category, preference to columns</returns> public async Task <GridDisplayModel> GetGridDisplayModelAsync(BoorgerdbContext db, int columns, Category currentCategory) { DisplayModel dModel = await GetDisplayModelAsync(db, currentCategory); return(new GridDisplayModel(dModel.items, columns, dModel.categories, dModel.currentCategory)); }
/// <summary> /// Return display model of all products /// </summary> /// <param name="db">EF DataBase context</param> /// <returns>Display model of all products</returns> public async Task <DisplayModel> GetDisplayModelAsync(BoorgerdbContext db) { List <Item> basicItemsList = GetBasicItemList(db); return(await _GetDisplayModel(db, basicItemsList, -1)); }
/// <summary> /// Wraper for access to all basic items /// </summary> /// <param name="db">EF DataBase context</param> /// <returns>List of all items</returns> private List <Item> GetBasicItemList(BoorgerdbContext db) { return(db.Items.ToList()); }
public DisplayController(BoorgerdbContext context) { db = context; }
public AuthenticationController(BoorgerdbContext context) { db = context; }
/// <summary> /// Return display model of products in current category /// </summary> /// <param name="db">EF DataBase context</param> /// <param name="currentCategory">Category that contains products</param> /// <returns>Display model of products in current category</returns> public async Task <DisplayModel> GetDisplayModelAsync(BoorgerdbContext db, Category currentCategory) { List <Item> basicItemsList = GetBasicItemList(db, currentCategory.Id); return(await _GetDisplayModel(db, basicItemsList, currentCategory.Id)); }
public CategoriesController(BoorgerdbContext context, [FromServices] ILogProvider _logger) { db = context; logger = _logger; logger.Setup(db); }