Exemplo n.º 1
0
        public ActionResult AddStock(AddStockViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    // check stock name existed
                    var temp = db.Stocks.Where(r => string.Compare(r.StockName, model.StockName, true) == 0).FirstOrDefault();
                    if (temp != null)
                    {
                        ModelState.AddModelError("", "Tên kho đã tồn tại trong hệ thống! Vui lòng chọn ");
                        return(View(model));
                    }

                    // add new stock
                    var stock = new Stock();
                    stock.StockName    = model.StockName;
                    stock.StockAddress = model.StockAddress;
                    stock.Phone        = model.Phone;
                    stock.Description  = model.Description;
                    stock.CreationDate = DateTime.Now;
                    db.Stocks.Add(stock);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }
            return(View(model));
        }
Exemplo n.º 2
0
        public void AddCommandResetProperties()
        {
            var sut = new AddStockViewModel(_addStockHelperMock.Object);

            sut.Price = "123";
            sut.AddCommand.Execute(null);
            Assert.IsTrue(String.IsNullOrEmpty(sut.Price));
        }
Exemplo n.º 3
0
        public void AddCommandCannotExecuteIfPriceIsNotDecimal()
        {
            var sut = new AddStockViewModel(_addStockHelperMock.Object);

            sut.Price    = "price";
            sut.Quantity = "10";
            Assert.IsFalse(sut.AddCommand.CanExecute(null));
        }
Exemplo n.º 4
0
        public void AddCommandCanExecuteIfPriceIsDecimalAndQuantityIsDecimal()
        {
            var sut = new AddStockViewModel(_addStockHelperMock.Object);

            sut.Price    = "10,0";
            sut.Quantity = "10";
            Assert.IsTrue(sut.AddCommand.CanExecute(null));
        }
Exemplo n.º 5
0
 public AddStockView(StockModel model, HomeViewModel home_view_model)
 {
     InitializeComponent();
     this.AddStockViewModel = new AddStockViewModel(model, this, home_view_model);
     this.DataContext       = AddStockViewModel;
     this.Owner             = Application.Current.MainWindow;
     CoreApp.logger.log("AddStockView successfully initialized!");
 }
Exemplo n.º 6
0
        public void AddCommandCallsAddStockHelper()
        {
            _addStockHelperMock.Setup(x => x.AddStock(It.IsAny <StockInputModel>()));
            var sut = new AddStockViewModel(_addStockHelperMock.Object);

            sut.Price    = "10";
            sut.Quantity = "10";
            sut.AddCommand.Execute(null);
            _addStockHelperMock.Verify(x => x.AddStock(It.IsAny <StockInputModel>()));
        }
Exemplo n.º 7
0
        public void ShouldNotDoAnythingOnAddCommandIfStockHasErrors()
        {
            var managerMock     = new Mock <IFundManager <StockModel, StockSummaryItemModel> >();
            var stockRepoMock   = new Mock <IRepository <StockModel> >();
            var summaryRepoMock = new Mock <IRepository <StockSummaryItemModel> >();

            var addStockViewModel = new AddStockViewModel(managerMock.Object, stockRepoMock.Object, summaryRepoMock.Object);

            addStockViewModel.AddStockCommand.Execute(new object());

            stockRepoMock.Verify(m => m.AddItem(It.IsAny <StockModel>()), Times.Never);
            managerMock.Verify(m => m.DefaultNewEntry(It.IsAny <StockModel>(), It.IsAny <IRepository <StockModel> >()), Times.Never);
            managerMock.Verify(m => m.RecalculateCollection(It.IsAny <IRepository <StockModel> >()), Times.Never);
            managerMock.Verify(m => m.RecalculateSummary(It.IsAny <IRepository <StockModel> >(), It.IsAny <IRepository <StockSummaryItemModel> >()), Times.Never);
        }
Exemplo n.º 8
0
        public void ShouldAddNewStockToRepositoryOnAddCommand()
        {
            var managerMock     = new Mock <IFundManager <StockModel, StockSummaryItemModel> >();
            var stockRepoMock   = new Mock <IRepository <StockModel> >();
            var summaryRepoMock = new Mock <IRepository <StockSummaryItemModel> >();

            var addStockViewModel = new AddStockViewModel(managerMock.Object, stockRepoMock.Object, summaryRepoMock.Object);

            addStockViewModel.StockModel = new StockModel()
            {
                Price = (decimal)1.22, Quantity = 1
            };

            addStockViewModel.AddStockCommand.Execute(new object());

            stockRepoMock.Verify(m => m.AddItem(It.IsAny <StockModel>()), Times.Once);
        }
Exemplo n.º 9
0
        public MainWindow()
        {
            InitializeComponent();

            // Poor man's DI here - I'm heistant to add a proper IoC container to this already somewhat bloated solution.
            // Given how our dependency tree is shallow enough, this will do.
            // Having the composition root in a Window class is somewhat cringe-inducing, but in the end, I don't think it matters all that much.
            var fundViewModel    = new FundViewModel(TestDataProvider.CreateTestFund());
            var summaryViewModel = new SummaryViewModel(new SummaryBuilderFactory(fundViewModel.GetStocksFunc));
            var addStockHelper   = new AddStockHelper(
                fundViewModel,
                summaryViewModel
                );
            var addStockViewModel = new AddStockViewModel(addStockHelper);

            var coreViewModel = new MainWindowViewModel(
                fundViewModel,
                summaryViewModel,
                addStockViewModel
                );

            DataContext = coreViewModel;
        }
Exemplo n.º 10
0
 public AddStockView(AddStockViewModel viewmodel)
 {
     DataContext = viewmodel;
     InitializeComponent();
 }