public void GetStocksTest() { MockDataManager mDm = new MockDataManager(); mDm.ExchangesConfigured.Add("ABC"); mDm.ExchangesConfigured.Add("DEF"); mDm.Stocks.Add(new StockData() { CompanyNameShort = "TCS", Exchange = "NSE", value = 200, hi52 = 300, lo52 = 100, percentChanged = 1 }); mDm.Stocks.Add(new StockData() { CompanyNameShort = "ONGC", Exchange = "NSE", value = 210, hi52 = 310, lo52 = 110, percentChanged = 2 }); mDm.Stocks.Add(new StockData() { CompanyNameShort = "KSCL", Exchange = "NSE", value = 220, hi52 = 320, lo52 = 120, percentChanged = 3 }); ViewModelMediator.GetMediator().dataManager = mDm; mDm.stockDataBL = new MockStockDataBusinessLogic(); mDm.ExchangesConfigured.Add("NSE"); StockListViewModel listVm = new StockListViewModel(); listVm.SelectedExchange = "NSE"; Thread.Sleep(10000); Assert.IsTrue(listVm.StockDetailsList.Count == 3); }
/// <summary> /// Start to load data /// </summary> public async Task LoadData() { StringBuilder str = new StringBuilder(); try { var allFavorite = _favoriteStockService.GetAll(); if (allFavorite.Count > 0) { allFavorite = allFavorite.OrderBy(x => x.Order).ToList(); List <RealTimeStockItem> realTimeStockList = await _queryService.GetMultipleRealTimeStockAsync(allFavorite); StockListViewModel.AddStock(realTimeStockList); } } catch (Exception e) { str.AppendLine(e.Message); } if (str.Length != 0) { Dialog.ShowError(str.ToString()); } }
public async Task RefreshItemSource(string param = "") { StockListViewModel svm = BindingContext as StockListViewModel; StockServices services = new StockServices(); //svm.RefreshCommand.Execute(null); //svm.RefreshListView(param); //if ((svm != null) && (svm.RefreshCommand.CanExecute(param))) //{ // svm.RefreshCommand.Execute(param); //} ObservableCollection <Stock> stocks = new ObservableCollection <Stock>(); var s = lstView.ItemsSource; //lstView.ItemsSource = // stocks.OrderByDescending(s => s.PercentChange); //lstView.RefreshCommand.Execute(param); // txtSort.Text = param; }
public async Task <StockListViewModel> Put(StockListViewModel vm) { if (vm == null) { return(null); } var stocks = new List <Stock>(); foreach (var stock in vm.Stocks) { var isValueQty = int.TryParse(stock.Qty, out var qty); if (!isValueQty) { return(null); } stocks.Add(new Stock { Id = stock.Id, Description = stock.Description, Qty = qty, ProductId = stock.ProductId }); } _context.Stocks.UpdateRange(stocks); await _context.SaveChangesAsync(); return(vm); }
private async void AddStock_Click() { StockInfoItem stockItem = null; try { string localStockNum = StockNumber; stockItem = _localStockService.Get(localStockNum); var stockData = await _queryService.GetMultipleRealTimeStockAsync(new List <StockInfoItem> { stockItem }); // check if the stock is exist in the list if (stockData.Count > 0) { StockListViewModel.AddStock(stockData); } stockItem.Order = _favoriteStockService.GetLastOrder(0); _favoriteStockService.Add(stockItem); } catch (FavoriteStockExistException e) { Dialog.ShowError(string.Format("目前 {0}({1}) 已經存在於清單內!", stockItem.Name, stockItem.Id)); } catch (Exception e) { Dialog.ShowError(e.Message + (e.InnerException == null ? string.Empty : " (detail : " + e.InnerException + ")")); } StockNumber = string.Empty; }
/// <summary> /// Indexes this instance. /// </summary> /// <param name="parametersSearch">The parameters search.</param> /// <param name="pageSizeString">The page size string.</param> /// <param name="page">The page.</param> /// <returns></returns> public async Task <IActionResult> Index(string parametersSearch, string pageSizeString, int page) { int pageSize = 20; page = page > 0 ? page : 1; if (!string.IsNullOrEmpty(pageSizeString)) { pageSize = int.Parse(pageSizeString); } StockRequest request = new StockRequest() { Page = new PagingRequest() { PageIndex = page - 1, PageSize = pageSize } }; try { StockListViewModel model = null; if (!string.IsNullOrEmpty(parametersSearch)) { request = JsonConvert.DeserializeObject <StockRequest>(parametersSearch); } request.Page = new PagingRequest() { PageIndex = page - 1, PageSize = pageSize }; var result = await this.PostAsync <BaseModel <Stock> >(HttpUriFactory.GetStocksRequest(this.options.Value.APIUrl), request); if (result != null) { int pageCount = (result.TotalCount + pageSize - 1) / pageSize; var nextPage = page == pageCount ? page : (page + 1); var previousPage = page > 1 ? (page - 1) : page; model = this.CreateDefaultVM <StockListViewModel, StockRequest>(request, parametersSearch, page, pageSize, nextPage, previousPage, pageCount, "Stock", "Index"); model.Templates = result.Models; } else { model = this.CreateDefaultVM <StockListViewModel, StockRequest>(request, parametersSearch, page, pageSize, 1, 1, 1, "Stock", "Index"); } if (TempData["Message"] != null) { ViewBag.Message = TempData["Message"]; } return(View(model)); } catch (Exception ex) { ViewBag.Message = ex.Message; Utilities.LogAppError(this.logger, ex); return(View(this.CreateDefaultVM <StockListViewModel, StockRequest>(request, parametersSearch, page, pageSize, 1, 1, 1, "Stock", "Index"))); } }
public IActionResult Index() { var model = new StockListViewModel() { stocks = _stockService.GetAllStocks() }; return(View(model)); }
public void AutoRefresh_Checked() { if (IsAutoRefresh) { StockListViewModel.StartPollingUpdate(TimeInterval); } else { StockListViewModel.StopUpdate(); } }
public ActionResult Edit(StockListViewModel sl) { ProductStock ps = db.ProductStocks.Where(x => x.StockID == sl.StockID).FirstOrDefault(); ps.StockQTY = ps.StockQTY + sl.AddQTY; db.Entry(ps).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("StockList", "AddStock", new { area = "Backend", page = TempData["savepage"] })); }
private void ListBox_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) { StockListViewModel viewModel = this.DataContext as StockListViewModel; if (viewModel != null) { if (viewModel.SelectCommand.CanExecute(null)) { viewModel.SelectCommand.Execute(null); } } }
public async Task <IViewComponentResult> InvokeAsync( int productId) { var stocks = await _stockService.GetStocksAsync(productId); var stockList = new StockListViewModel() { Stocks = stocks, ProductId = productId }; return(View(stockList)); }
public async Task <ActionResult> Index() { var stocks = (await _stockService.GetStocks()).Items; var total = await _stockService.GetTotal(); var model = new StockListViewModel { StockLists = stocks, Total = total }; return(View(model)); }
public void InitTest() { MockDataManager mDm = new MockDataManager(); mDm.ExchangesConfigured.Add("ABC"); mDm.ExchangesConfigured.Add("DEF"); ViewModelMediator.GetMediator().dataManager = mDm; mDm.stockDataBL = new MockStockDataBusinessLogic(); mDm.ExchangesConfigured.Add("NSE"); StockListViewModel listVm = new StockListViewModel(); listVm.SelectedExchange = "NSE"; Assert.IsTrue(listVm.StockDetailsList.Count > 0); Assert.IsTrue(listVm.ListOfAllCompanies.Count > 0); }
private void DeleteStock_Click() { try { if (SelectedStockItem != null) { _favoriteStockService.Delete(SelectedStockItem.Id); StockListViewModel.RemoveStock(SelectedStockItem); } } catch (Exception e) { Dialog.ShowError(e.Message); } }
public ActionResult GetTopStocks() { var stocks = new StockListViewModel { StockList = new List <EquityStock> { new EquityStock { Symbol = "MSFT", OriginalPrice = 73.9m }, new EquityStock { Symbol = "AMD", OriginalPrice = 13.5m } } }; return(View(stocks)); }
public ActionResult Edit(int id = 1) { StockListViewModel stk = new StockListViewModel(); var prodStocks = db.ProductStocks.Where(x => x.StockID == id).FirstOrDefault(); stk.StockID = prodStocks.StockID; stk.ProductID = prodStocks.ProductID; stk.ProductColorID = prodStocks.ProductColorID; stk.ProductSizeID = prodStocks.ProductSizeID; stk.StockQTY = prodStocks.StockQTY; stk.MinStock = prodStocks.MinStock; var p = db.Products.Where(x => x.ProductID == prodStocks.ProductID).FirstOrDefault(); stk.ProductName = p.ProductName; var s = db.Suppliers.Where(x => x.SupplierID == (int)p.SupplierID).FirstOrDefault(); stk.SupplierName = s.SupplierName; var pc = db.ProductColors.Where(x => x.ProductColorID == prodStocks.ProductColorID).FirstOrDefault(); stk.ProductColor = db.Colors.Where(x => x.ColorID == pc.ColorID).FirstOrDefault().ColorName; var ps = db.ProductSizes.Where(x => x.ProductSizeID == prodStocks.ProductSizeID).FirstOrDefault(); stk.ProductSize = db.Sizes.Where(x => x.SizeID == ps.SizeID).FirstOrDefault().SizeName; stk.OrderQTY = db.OrderDetails .Where(x => x.ProductID == prodStocks.ProductID && x.ProductColorID == prodStocks.ProductColorID && x.ProductSizeID == prodStocks.ProductSizeID && x.OrderHeader.OrderStatusID == 1).Select(x => x.OrderQTY).Count(); stk.CartQTY = db.Carts.Where(x => x.ProductID == prodStocks.ProductID && x.ProductColorID == prodStocks.ProductColorID && x.ProductSizeID == prodStocks.ProductSizeID).Select(x => x.Quantity).Count(); stk.AddQTY = stk.CartQTY + stk.OrderQTY + stk.MinStock - stk.StockQTY; return(View(stk)); }
public PartialViewResult StockList(StockSearchViewModel model) { int pageIndex = model.Page ?? 1; string sql = "Select top 100 * From STOKLAR where sto_kod like '%" + model.StokKod + "%' and sto_isim like '%" + model.StokAd + "%' order by sto_RECno desc"; var stocks = _stoklarORM.GetList(sql); List <StockListViewModel> list = new List <StockListViewModel>(); foreach (var item in stocks) { StockListViewModel cus = new StockListViewModel(); cus.Id = item.sto_RECno; cus.StokKod = item.sto_kod; cus.StokAd = item.sto_isim; list.Add(cus); } model.StockList = list.ToPagedList(pageIndex, 5); if (Request.IsAjaxRequest()) { return(PartialView("_stockList", model)); } return(PartialView("_stockPopup", model)); }
public async Task <ActionResult> Print() { List <string> dups = new List <string>(); var brands = (await _productService.GetProduct()).Items; foreach (var dups1 in brands) { dups.Add(dups1.Brand); } var dups2 = dups.GroupBy(x => x) .Where(g => g.Count() > 1) .Select(x => x.Key) .ToList(); var model = new StockListViewModel { ProductLists = (await _productService.GetProduct()).Items, StockLists = (await _stockService.GetStocks()).Items, Total = await _stockService.GetTotal(), LoginInformations = await _sessionAppService.GetCurrentLoginInformations(), ProductBrands = dups2 }; return(View(model)); }
public StockListWindow(StockListViewModel stockListViewModel) { InitializeComponent(); StockListViewModel = stockListViewModel; }
public StockListView(StockListViewModel viewModel) { InitializeComponent(); this.DataContext = viewModel; }
public static StockListViewModel GetStockByUser(string username) { Entities entities = new Entities(); StockListViewModel result = new StockListViewModel(); DateTime current = DateTime.Now; var stocks = entities.Assets.Include("StockTransactions").Include("Liabilities").Where(x => x.Username.Equals(username) && x.AssetType == (int)Constants.Constants.ASSET_TYPE.STOCK && !x.DisabledDate.HasValue); foreach (var stock in stocks) { StockViewModel stockViewModel = new StockViewModel(); stockViewModel.Id = stock.Id; stockViewModel.Name = stock.AssetName; stockViewModel.Note = stock.Note; foreach (var transactions in stock.StockTransactions.Where(x => !x.DisabledDate.HasValue)) { StockTransactionViewModel transactionViewModel = StockQueries.CreateViewModel(transactions); stockViewModel.Transactions.Transactions.Add(transactionViewModel); } var liabilities = stockViewModel.Transactions.Transactions.Select(x => x.Liabilities.Liabilities.Where(y => y.StartDate <= current && y.EndDate >= current)); stockViewModel.TotalLiabilityValue = liabilities.Sum(x => x.Sum(y => y.Value.HasValue ? y.Value.Value : 0)); stockViewModel.TotalOriginalPayment = liabilities.Sum(x => x.Sum(y => y.MonthlyOriginalPayment)); stockViewModel.TotalInterestPayment = liabilities.Sum(x => x.Sum(y => y.MonthlyInterestPayment)); stockViewModel.TotalMonthlyPayment = liabilities.Sum(x => x.Sum(y => y.TotalMonthlyPayment)); stockViewModel.TotalPayment = liabilities.Sum(x => x.Sum(y => y.TotalPayment)); stockViewModel.TotalRemainedValue = liabilities.Sum(x => x.Sum(y => y.RemainedValue)); stockViewModel.TotalOriginalInterestPayment = liabilities.Sum(x => x.Sum(y => y.OriginalInterestPayment)); stockViewModel.TotalInterestRate = stockViewModel.TotalLiabilityValue > 0 ? stockViewModel.TotalOriginalInterestPayment / stockViewModel.TotalLiabilityValue * 12 : 0; stockViewModel.RowSpan = stockViewModel.Transactions.Transactions.Any() ? stockViewModel.Transactions.Transactions.Count() + stockViewModel.Transactions.Transactions.Select(x => x.Liabilities.Liabilities).Count() + 4 : 4; if (stockViewModel.Transactions.Transactions.Any()) { stockViewModel.RowSpan = 4; bool flag = false; foreach (var transaction in stockViewModel.Transactions.Transactions) { if (transaction.Liabilities.Liabilities.Count() > 0) { if (flag == false) { flag = true; } stockViewModel.RowSpan += transaction.Liabilities.Liabilities.Count(); } } if (flag == true) { stockViewModel.RowSpan += 1; } } else { stockViewModel.RowSpan = 4; } result.Stocks.Add(stockViewModel); } result.TotalValue = result.Stocks.Select(x => x.Transactions.Transactions).Sum(x => x.Sum(y => y.StockValue.Value)); result.IsInitialized = UserQueries.IsCompleteInitialized(username); return(result); }
// GET: Backend/AddStock public ActionResult StockList(int?page) { //記錄目前頁數,若是空值就給1 TempData["savepage"] = page ?? 1; var prodStocks = db.ProductStocks.ToList(); var orderDetails = db.OrderDetails.Where(x => x.OrderHeader.OrderStatusID == 1).ToList(); var prodColors = db.ProductColors.ToList(); var prodSizes = db.ProductSizes.ToList(); var colors = db.Colors.ToList(); var sizes = db.Sizes.ToList(); var suppliers = db.Suppliers.ToList(); var carts = db.Carts.ToList(); var prods = db.Products.ToList(); List <StockListViewModel> prodStockList = new List <StockListViewModel>(); foreach (var item in prodStocks) { StockListViewModel stk = new StockListViewModel(); stk.StockID = item.StockID; stk.ProductColorID = item.ProductColorID; stk.ProductSizeID = item.ProductSizeID; stk.MinStock = item.MinStock; stk.StockQTY = item.StockQTY; stk.OrderQTY = orderDetails .Where(x => x.ProductID == item.ProductID && x.ProductColorID == item.ProductColorID && x.ProductSizeID == item.ProductSizeID).Select(x => x.OrderQTY).Count(); stk.CartQTY = carts.Where(x => x.ProductID == item.ProductID && x.ProductColorID == item.ProductColorID && x.ProductSizeID == item.ProductSizeID).Select(x => x.Quantity).Count(); stk.AddQTY = stk.CartQTY + stk.OrderQTY + stk.MinStock - stk.StockQTY; var p = prods.Where(x => x.ProductID == item.ProductID).FirstOrDefault(); stk.ProductName = p.ProductName; var s = suppliers.Where(x => x.SupplierID == (int)p.SupplierID).FirstOrDefault(); stk.SupplierName = s.SupplierName; stk.SupplierID = s.SupplierID; var pc = prodColors.Where(x => x.ProductColorID == item.ProductColorID).FirstOrDefault(); stk.ProductColor = colors.Where(x => x.ColorID == pc.ColorID).FirstOrDefault().ColorName; if ((pc.PhotoID == null ? 0 : pc.PhotoID) > 0) { stk.PhotoID = (int)pc.PhotoID; } var ps = prodSizes.Where(x => x.ProductSizeID == item.ProductSizeID).FirstOrDefault(); stk.ProductSize = sizes.Where(x => x.SizeID == ps.SizeID).FirstOrDefault().SizeName; if (stk.AddQTY > 0) { prodStockList.Add(stk); } } return(View(prodStockList.OrderByDescending(p => p.SupplierID).ToPagedList(page ?? 1, 5))); }
public StockViewController(IControllerFactory factory) : base(factory) { listViewModel = new StockListViewModel(factory, this); }
public async Task <IActionResult> UpdateStock([FromBody] StockListViewModel vm) => Ok(await _stockService.Put(vm));
public ActionResult _StockTable() { StockListViewModel model = StockQueries.GetStockByUser(UserQueries.GetCurrentUsername()); return(PartialView(model)); }