private void FindChild(ref List <CatalogGroupTree> catalogTree, GoodGroup group) { var storeActions = new StoreAction(); var parentId = group.id; if (catalogTree == null) { catalogTree = new List <CatalogGroupTree>(); } var current = new CatalogGroupTree { groupId = group.id, groupName = group.name, link = $"~/Catalog/{group.id}" }; catalogTree.Add(current); var groups = storeActions.GetGroups().Where(s => s.parentId == parentId).ToList(); if (groups?.Count > 0) { foreach (var item in groups) { FindChild(ref current.childGroups, item); } } }
public void TestUpdateGood() { var odmen = new OdmenAction(); var store = new StoreAction(); var goodUpdate = store.GetAllGoods().FirstOrDefault(s => s.name.Contains("name")); if (goodUpdate == null) { Assert.Pass("Нет тестового товара для изменения"); return; } goodUpdate.name = "name_Updated"; goodUpdate.info = "info_Updated"; goodUpdate.imageUrl = "imageUrl_Updated"; goodUpdate.discount = 78; goodUpdate.price = 67889.23M; goodUpdate.groupId = store.GetGroups().Last().id; goodUpdate.fullInfo = "fullInfo_Updated"; odmen.ChangeGood(goodUpdate); var updated = store.GetAllGoods().FirstOrDefault(s => s.name == goodUpdate.name //&& s.fullInfo == goodUpdate.fullInfo && s.info == goodUpdate.info && s.imageUrl == goodUpdate.imageUrl && s.price == goodUpdate.price && s.discount == goodUpdate.discount); // TODO: Add your test code here Assert.IsNotNull(updated); }
private CatalogModel GetCatalogModel(long?groupId) { var store = new StoreAction(); if (groupId == null || groupId == 0) { var modelAll = new CatalogModel { goods = store.GetAllGoods().Select(s => new GoodViewModel(s)).ToList(), groupId = 0, }; modelAll.filter = _filterCatalog(modelAll); return(modelAll); } var allGroups = store.GetGroups(); var groups = new List <long>(); if (!allGroups.Exists(s => s.id == groupId)) { Response.Redirect(Url.Content("~/Error/_404"), true); return(null); } SetPratentGroupLinks(groupId.Value); GetChildGroups(groupId.Value, ref groups); var goods = store.GetAllGoods().Join(groups, good => good.groupId, group => group, (good, group) => new GoodViewModel(good)).ToList(); var model = new CatalogModel { goods = goods }; model.groupId = groupId.Value; model.filter = _filterCatalog(model); return(model); }
public void TestGetGroups_CountNotNull() { var storeAction = new StoreAction(); var result = storeAction.GetGroups(); // TODO: Add your test code here Assert.IsTrue(result?.Count() > 0); }
public void TestGetGoodsByGroup_Good() { var storeAction = new StoreAction(); var groupId = storeAction.GetGroups().OrderByDescending(s => s.id).First().id; var result = storeAction.GetGoodsByGroup(groupId); // TODO: Add your test code here Assert.IsTrue(result?.Count() > 0); }
private void SetPratentGroupLinks(long groupId) { var que = new Queue <Link>(); que.Enqueue(GetGroupCatalogLink(groupId)); var store = new StoreAction(); long?parentId = store.GetGroups().FirstOrDefault(s => s.id == groupId).parentId; while (parentId != null) { var group = store.GetGroups().FirstOrDefault(s => s.id == parentId); que.Enqueue(GetGroupCatalogLink(group.id)); parentId = store.GetGroups().FirstOrDefault(s => s.id == group.parentId)?.parentId; } foreach (var item in que.Reverse()) { (ViewBag.Links as Queue <Link>).Enqueue(item); } }
public void TestDeleteGroup() { var odmen = new OdmenAction(); var store = new StoreAction(); var groupsForDel = store.GetGroups().Where(s => s.name.Contains("name")); if (!(groupsForDel?.Count() > 0)) { Assert.Pass("Нет тестовой группы для удаления"); return; } foreach (var groupForDel in groupsForDel) { odmen.DeleteGroup(groupForDel.id); } var deleted = store.GetGroups().FirstOrDefault(s => s.name.Contains("name")); // TODO: Add your test code here Assert.IsNull(deleted); }
public void TestUpdateGroup() { var odmen = new OdmenAction(); var store = new StoreAction(); var groupUpdate = store.GetGroups().FirstOrDefault(s => s.name.Contains("name")); if (groupUpdate == null) { Assert.Pass("Нет тестовой группы для изменения"); return; } groupUpdate.name = "name_Updated"; groupUpdate.info = "info_Updated"; groupUpdate.imageUrl = "imageUrl_Updated"; odmen.ChangeGroup(groupUpdate); var updated = store.GetGroups().FirstOrDefault(s => s.name == groupUpdate.name && s.info == groupUpdate.info && s.imageUrl == groupUpdate.imageUrl); // TODO: Add your test code here Assert.IsNotNull(updated); }
private void GetChildGroups(long groupId, ref List <long> groups) { groups.Add(groupId); var store = new StoreAction(); var childGroups = store.GetGroups().Where(s => s.parentId == groupId).Select(s => s.id).ToList(); if (childGroups?.Count() > 0) { foreach (var id in childGroups) { GetChildGroups(id, ref groups); } } }
public void TestCreateGood() { var odmen = new OdmenAction(); var store = new StoreAction(); var groupId = store.GetGroups().FirstOrDefault().id; var newGood = new Good { imageUrl = "image" + Guid.NewGuid().ToString(), info = "info" + Guid.NewGuid().ToString(), name = "name" + Guid.NewGuid().ToString().Substring(0, 10), discount = 13, groupId = groupId, price = 123.44M, fullInfo = Guid.NewGuid().ToString() + Guid.NewGuid().ToString() }; var id = odmen.CreateGood(newGood); var property = new GoodProperty { goodId = id, name = "name" + Guid.NewGuid(), value = "value" + Guid.NewGuid() }; var properties = new List <GoodProperty> { new GoodProperty { goodId = id, name = "name" + Guid.NewGuid(), value = "value" + Guid.NewGuid() }, new GoodProperty { goodId = id, name = "name" + Guid.NewGuid(), value = "value" + Guid.NewGuid() } }; var propertyid = odmen.CreateGoodProperty(property); odmen.CreateGoodProperties(properties); Assert.IsTrue(id > 0 && propertyid > 0 && property.id > 0 && !properties.Any(s => s.id == 0)); }