public ActionResult Report() { ReportViewModel viewModel = new ReportViewModel() { Orders = db.Orders.ToList(), CreatedOrders = db.Orders.Count(o => o.CreatedAt != null), CompletedOrders = db.Orders.Count(o => o.CompletedAt != null), ShippedOrders = db.Orders.Count(o => o.ShippedAt != null), DeliveredOrders = db.Orders.Count(o => o.DeliveredAt != null), CanceledOrders = db.Orders.Count(o => o.CanceledAt != null) }; List <OrderElement> items = db.OrderElements.DistinctBy(o => o.ItemName).ToList(); List <Item> warehouseItems = db.Items.ToList(); List <ReportItemViewModel> itemViewModels = new List <ReportItemViewModel>(); foreach (var item in items) { ReportItemViewModel itemToAdd = new ReportItemViewModel(); itemToAdd.Name = item.ItemName; itemToAdd.QuantityInOrders = db.OrderElements.Where(i => i.ItemName == item.ItemName).Sum(i => i.Quantity); Item itemFromWarehouse = warehouseItems.SingleOrDefault(w => w.Name == item.ItemName); if (itemFromWarehouse != null) { itemToAdd.QuantityInStock = itemFromWarehouse.QuantityInStock; } itemViewModels.Add(itemToAdd); } viewModel.Items = itemViewModels; return(View(viewModel)); }
private void Search() { if (_lookup == null) { return; } if (!_lookup.Any()) { return; } var searchItem = txtSearch.Text; if (searchItem.Trim().Length == 0) { _viewModel.Collection = _lookup; DataContext = _viewModel; } else { var filteredItem = from item in _lookup where item.Title.ToLower().Contains(searchItem.ToLower()) select item; var viewModel = new ReportItemViewModel { Collection = new ReportItemCollection() }; foreach (var item in filteredItem) { viewModel.Collection.Add(item); } _viewModel = viewModel; DataContext = _viewModel; } }
void EnterAllDataAndSubmitAsync() { string title_input = "A couch I found"; string description_input = "Looks alright"; ReportItemViewModel vm = new ReportItemViewModel( pic_taker, null, null, null, item_report_storage); vm.NavigationService = nav; vm.TitleInputText = title_input; vm.DescriptionInputText = description_input; // IPictureTaker should return an ImageSource // to set PhotoTaken asynchronously //vm.CameraButtonCommand.Execute(null); vm.PhotoSelection = ImageSourceExample; vm.SelectedLocation = MicrosoftHQ; // give time for async picture //System.Threading.Thread.Sleep(100); System.Diagnostics.Debug.WriteLine("BeforeTakePic"); //await pic_taker.TakePicture(); System.Diagnostics.Debug.WriteLine("AfterTakePic"); /*ItemReport item_report_from_event = null; * vm.ReportItemSubmitted += (s, e) => * { * item_report_from_event = e.ItemReport; * };*/ vm.SubmitButtonCommand.Execute(null); //nav_mock.Verify(n => n.GoBackAsync(item_report_from_event)); // make sure the ItemReport that was put in storage // matches the input Assert.AreEqual(1, item_report_storage.LocalItemReports.Count); ItemReport ir = item_report_storage.LocalItemReports[0]; Assert.AreEqual(title_input, ir.Title); Assert.AreEqual(description_input, ir.Description); Assert.AreEqual(MicrosoftHQ, ir.ItemLocation); Assert.AreEqual(ImageSourceExample, ir.ItemPhoto); // make sure the ItemReport from event is the same // as the one found in storage //Assert.IsNotNull(item_report_from_event); //Assert.AreEqual(ir, item_report_from_event); // TODO: test to make sure INotifyPropertyChanged is working }
public void ExceptionThrownWhenSubmitting() { ReportItemViewModel vm = new ReportItemViewModel( pic_taker, null, toaster, null, null); vm.DescriptionInputText = "Looks alright"; // IPictureTaker should return an ImageSource // to set PhotoTaken asynchronously vm.CameraButtonCommand.Execute(null); vm.SelectedLocation = MicrosoftHQ; vm.SubmitButtonCommand.Execute(null); // ItemReportStorage not set, so throws exception toaster_mock.Verify(t => t.DisplayError( "Object reference not set to an instance of an object.")); }
private void RefreshDisplay() { _lookup = ReportItem.GetListByCategory(_category); _viewModel = new ReportItemViewModel { Collection = ReportItem.GetListByCategory(_category) }; if (_category == "SCHEDULES") { var sqlParameters = new SqlParameter[1]; sqlParameters[0] = new SqlParameter("as_of", MainController.LoggedUser.TransactionDate); foreach (var item in _lookup) { item.StoredProcedureParameters = sqlParameters; } foreach (var item in _viewModel.Collection) { item.StoredProcedureParameters = sqlParameters; } } DataContext = _viewModel; }
public ReportItemWindow(Employee _employee) { InitializeComponent(); DataContext = new ReportItemViewModel(_employee, this); }