예제 #1
0
        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));
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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
        }
예제 #4
0
        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."));
        }
예제 #5
0
 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;
 }
예제 #6
0
        public ReportItemWindow(Employee _employee)
        {
            InitializeComponent();

            DataContext = new ReportItemViewModel(_employee, this);
        }