public PriceListAndItemsViewModel GetPriceListAndItemsViewModelFromPriceList(PriceList priceList) { var columns = _db.Columns.Where(c => c.PriceListId == priceList.Id).ToList(); IEnumerable <Item> items = _db.Items.Where(i => i.PriceListId == priceList.Id); IEnumerable <Cell> cells = _db.Cells.Where(c => c.Item.PriceListId == priceList.Id); var priceListWithItems = new PriceListAndItemsViewModel(priceList, columns, items, cells); return(priceListWithItems); }
public void GetPriceListAndItemsViewModelFromPriceList_IsOk() { //arrange var priceList1 = new PriceList { Id = 1, Name = "First priceList" }; _context.PriceLists.Add(priceList1); var column1 = new Column { Id = 1, DataType = DataType.Numeric, HeaderText = "Numeric", PriceListId = 1 }; _context.Columns.Add(column1); var item1 = new Item { Id = 1, PriceListId = 1, Title = "Item1" }; _context.Items.Add(item1); var cell1 = new Cell { Id = 1, Data = "1", Item = item1, ItemId = 1 }; _context.Cells.Add(cell1); var expected = new PriceListAndItemsViewModel(new PriceList { Id = priceList1.Id, Name = priceList1.Name }, new List <Column> { new Column { Id = 1, DataType = DataType.Numeric, HeaderText = "Numeric", PriceListId = 1 } }, new List <Item> { new Item { Id = 1, PriceListId = 1, Title = "Item1" } }, new List <Cell> { new Cell { Id = 1, Data = "1", Item = item1, ItemId = 1 } }); //act var actual = _controller.GetPriceListAndItemsViewModelFromPriceList(priceList1); //assert Assert.AreEqual(expected.PriceList.Id, actual.PriceList.Id); Assert.AreEqual(expected.PriceList.Name, actual.PriceList.Name); Assert.AreEqual(expected.Columns.Single().Id, actual.Columns.Single().Id); Assert.AreEqual(expected.Columns.Single().DataType, actual.Columns.Single().DataType); Assert.AreEqual(expected.Columns.Single().HeaderText, actual.Columns.Single().HeaderText); Assert.AreEqual(expected.Columns.Single().PriceListId, actual.Columns.Single().PriceListId); Assert.AreEqual(expected.Items.Single().Id, actual.Items.Single().Id); Assert.AreEqual(expected.Items.Single().PriceListId, actual.Items.Single().PriceListId); Assert.AreEqual(expected.Items.Single().Title, actual.Items.Single().Title); Assert.AreEqual(expected.Cells.Single().Id, actual.Cells.Single().Id); Assert.AreEqual(expected.Cells.Single().Data, actual.Cells.Single().Data); Assert.AreEqual(expected.Cells.Single().ItemId, actual.Cells.Single().ItemId); Assert.AreEqual(expected.Cells.Single().Item.Id, actual.Cells.Single().Item.Id); Assert.AreEqual(expected.Cells.Single().Item.PriceListId, actual.Cells.Single().Item.PriceListId); Assert.AreEqual(expected.Cells.Single().Item.Title, actual.Cells.Single().Item.Title); }