public ActionResult EditStock(int id)
        {
            try
            {
                // get stock info
                var stock = db.Stocks.Where(r => r.StockId == id).FirstOrDefault();
                if (stock == null)
                {
                    ModelState.AddModelError("", "Không tìm thấy thông tin kho");
                    return(View());
                }

                // create view model
                var model = new EditStockViewModel();
                model.StockId      = stock.StockId;
                model.StockName    = stock.StockName;
                model.StockAddress = stock.StockAddress;
                model.Phone        = stock.Phone;
                model.Description  = stock.Description;

                return(View(model));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }
            return(View());
        }
        public void TestSaveCommand()
        {
            Part stock = TestHelper.GetTestPart();

            Mock <IServiceFactory> mockServiceFactory = new Mock <IServiceFactory>();

            EditStockViewModel viewModel = new EditStockViewModel(mockServiceFactory.Object, stock);

            mockServiceFactory.Setup(mock => mock.CreateClient <IPartService>().UpdatePart(It.IsAny <Part>())).Returns(viewModel.Stock);

            viewModel.Stock.Description = "Description";
            viewModel.Stock.Notes       = "Black";

            bool   stockUpdated = false;
            string color        = string.Empty;

            viewModel.StockUpdated += (s, e) =>
            {
                stockUpdated = true;
                color        = e.Stock.Notes;
            };

            viewModel.SaveCommand.Execute(null);

            Assert.IsTrue(stockUpdated);
            Assert.IsTrue(color == "Black");
        }
示例#3
0
        public ActionResult <StatisticsViewModel> Post([FromBody] EditStockViewModel model)
        {
            var statisticsDto = new StatisticsDTO();

            service.AddStock(Mapper.Map <StockDTO>(model), statisticsDto);

            Response.StatusCode = 201;
            return(Mapper.Map <StatisticsViewModel>(statisticsDto));
        }
        private void OnWireViewModelEvents(ViewModelBase viewModel)
        {
            EditStockViewModel vm = viewModel as EditStockViewModel;

            if (vm != null)
            {
                vm.StockUpdated    += OnStockUpdated;
                vm.CancelEditStock += OnCancelEditStock;
            }
        }
        public void TestViewModelConstruction()
        {
            Part stock = TestHelper.GetTestPart();

            Mock <IServiceFactory> mockServiceFactory = new Mock <IServiceFactory>();

            EditStockViewModel viewModel = new EditStockViewModel(mockServiceFactory.Object, stock);

            Assert.IsTrue(viewModel.Stock != null);
            Assert.IsTrue(viewModel.Stock.Id == stock.Id && viewModel.Stock.Notes == stock.Notes);
        }
        public void TestCanSaveCommand()
        {
            Part stock = TestHelper.GetTestPart();

            Mock <IServiceFactory> mockServiceFactory = new Mock <IServiceFactory>();

            EditStockViewModel viewModel = new EditStockViewModel(mockServiceFactory.Object, stock);

            Assert.IsFalse(viewModel.SaveCommand.CanExecute(null));

            viewModel.Stock.Notes = "Black";

            Assert.IsTrue(viewModel.SaveCommand.CanExecute(null));
        }
示例#7
0
        public ActionResult <StatisticsViewModel> Put(int id, [FromBody] EditStockViewModel model)
        {
            var dto   = new StatisticsDTO();
            var stock = service.GetStockById(id, dto);

            if (stock == null)
            {
                return(NotFound(Mapper.Map <StatisticsViewModel>(dto)));
            }

            stock = Mapper.Map <StockDTO>(model);
            service.EditStock(id, stock, dto);

            return(Mapper.Map <StatisticsViewModel>(dto));
        }
        public void TestStockIsValid()
        {
            Part stock = TestHelper.GetTestPart();

            Mock <IServiceFactory> mockServiceFactory = new Mock <IServiceFactory>();

            EditStockViewModel viewModel = new EditStockViewModel(mockServiceFactory.Object, stock);

            viewModel.Stock.Id          = 0;
            viewModel.Stock.Description = "";
            Assert.IsFalse(viewModel.Stock.IsValid);

            viewModel.Stock.Id             = 1;
            viewModel.Stock.Description    = "Test";
            viewModel.Stock.ComponentsCost = 0;

            Assert.IsTrue(viewModel.Stock.IsValid);
        }
示例#9
0
        public IActionResult Edit(string id)
        {
            Stock stock = _db.Stocks.FirstOrDefault(s => s.Id == id);
            EditStockViewModel model = new EditStockViewModel
            {
                Id           = id,
                Name         = stock.Name,
                Type         = stock.Type,
                Cost         = stock.Cost,
                Description  = stock.Description,
                Validity     = stock.Validity,
                At           = stock.At,
                To           = stock.To,
                FirstDishId  = stock.FirstDishId,
                SecondDishId = stock.SecondDishId,
                ThirdDishId  = stock.ThirdDishId
            };

            return(View(model));
        }
        public void TestCancelCommand()
        {
            Part stock = new Part {
                Id = 1, Notes = "White"
            };

            Mock <IServiceFactory> mockServiceFactory = new Mock <IServiceFactory>();

            EditStockViewModel viewModel = new EditStockViewModel(mockServiceFactory.Object, stock);

            bool canceled = false;

            viewModel.CancelEditStock += (s, e) => canceled = true;

            Assert.IsTrue(!canceled);

            viewModel.CancelCommand.Execute(null);

            Assert.IsTrue(viewModel.CancelCommand.CanExecute(null));

            Assert.IsTrue(canceled);
        }
示例#11
0
        public async Task <IActionResult> Edit(EditStockViewModel model)
        {
            if (ModelState.IsValid)
            {
                User user = await _userManager.FindByIdAsync(_userManager.GetUserId(User));

                if (User.IsInRole(Convert.ToString(Roles.SuperAdmin)))
                {
                    user = await _userManager.FindByIdAsync(user.IdOfTheSelectedRestaurateur);
                }
                Stock stock = _db.Stocks.FirstOrDefault(s => s.Id == model.Id);
                stock.Name         = model.Name;
                stock.Type         = model.Type;
                stock.Description  = model.Description;
                stock.Cost         = model.Cost;
                stock.Validity     = model.Validity;
                stock.At           = model.At;
                stock.To           = model.To;
                stock.FirstDishId  = model.FirstDishId;
                stock.SecondDishId = model.SecondDishId;
                stock.ThirdDishId  = model.ThirdDishId;
                stock.EditorId     = user.Id;
                if (model.File != null)
                {
                    await DeleteStockAvatar(stock);

                    stock.Avatar = await Load(model.Id, model.File);
                }
                _db.Entry(stock).State = EntityState.Modified;
                await _db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
示例#12
0
 public ActionResult EditStock(EditStockViewModel model)
 {
     if (ModelState.IsValid)
     {
         // check stock name existed
         var stock = db.Stocks.Where(
             r => string.Compare(r.StockName, model.StockName, true) == 0 &&
             r.StockId != model.StockId)
                     .FirstOrDefault();
         if (stock == null)
         {
             var stockEdit = db.Stocks.Where(r => r.StockId == model.StockId).FirstOrDefault();
             if (stockEdit != null)
             {
                 // edit stock info
                 stockEdit.StockName    = model.StockName;
                 stockEdit.StockAddress = model.StockAddress;
                 stockEdit.Phone        = model.Phone;
                 stockEdit.Description  = model.Description;
                 db.SaveChanges();
                 return(RedirectToAction("Index"));
             }
             else
             {
                 // edited stock not found
                 ModelState.AddModelError("", "Không tìm thấy thông tin kho");
             }
         }
         else
         {
             // duplicated stock name
             ModelState.AddModelError("", "Tên kho đã tồn tại trong hệ thống, vui lòng chọn tên khác!");
         }
     }
     return(View(model));
 }
 public UpdateStockWindow(EditStockViewModel editStockViewModel)
 {
     InitializeComponent();
     DataContext = editStockViewModel;
 }
        void OnOpenEditStockWindow(object sender, EditStockViewModel e)
        {
            var updateStockWindow = new UpdateStockWindow(e);

            updateStockWindow.Show();
        }