public void GetAllStocksTest() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); IEnumerable <Stock> stocks = new List <Stock>() { new Stock() { Code = "AAA" }, new Stock() { Code = "BBBB" }, new Stock() { Code = "CCCC" }, }; mockUnitOfWork.Setup(un => un.StockRepository.Get(null, null, "")).Returns(stocks); IStockLogic stockLogic = new StockLogic(mockUnitOfWork.Object); var result = stockLogic.GetAllStocks(); mockUnitOfWork.Verify(un => un.StockRepository.Get(null, null, ""), Times.Once()); Assert.Equal(result, stocks); }
private void ActDatasWhenBinding(IEnumerable items) { var bill = _dataContext.Master; List <int> pids = new List <int>(); TraverseDatas(items, p => pids.Add(p.ProductID)); if (bill.StorageIDOut != default(int)) { var stocks = StockLogic.GetStockInStorage(bill.StorageIDOut, productIDs: pids.ToArray()); TraverseDatas(items, p => { var stock = stocks.Find(s => s.ProductID == p.ProductID); p.OutStorageStock = (stock == null ? 0 : stock.Quantity); }); } if (bill.StorageIDIn != default(int)) { if (bill.StorageIDOut == bill.StorageIDIn)//出入仓库一样就直接赋值 { TraverseDatas(items, p => p.InStorageStock = p.OutStorageStock); } else { var stocks = StockLogic.GetStockInStorage(bill.StorageIDIn, productIDs: pids.ToArray()); TraverseDatas(items, p => { var stock = stocks.Find(s => s.ProductID == p.ProductID); p.InStorageStock = (stock == null ? 0 : stock.Quantity); }); } } }
public ValidationController(ClienteLogic ClienteLogic, CommonLogic CommonLogic, ProveedorLogic ProveedorLogic, ProductoLogic ProductoLogic, VendedorLogic VendedorLogic, ListaPreciosLogic ListaPreciosLogic, StockLogic StockLogic) { clienteBL = ClienteLogic; commonBL = CommonLogic; proveedorBL = ProveedorLogic; productoBL = ProductoLogic; vendedorBL = VendedorLogic; listaPreciosBL = ListaPreciosLogic; stockBL = StockLogic; }
public JsonResult GetStock(string ProductID, string ShadeID, string PackingID) { var responseValue = new { StockData = StockLogic.GetStockReport(null, null, ProductID, ShadeID, PackingID), Factor = PackingLogic.GetPackingByID(Convert.ToInt32(PackingID)) }; return(Json(new ResponseMsg { IsSuccess = true, ResponseValue = responseValue }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetClosingQty(int ProductID, int ShadeID, string PackingIDs) { ResponseMsg response = new ResponseMsg(); var packings = StockLogic.GetClosingQty(ProductID, ShadeID, PackingIDs); if (packings != null && packings.Count() > 0) { response.IsSuccess = true; response.ResponseValue = packings; } return(Json(response, JsonRequestBehavior.AllowGet)); }
public CompraController(CompraLogic CompraLogic, ProveedorLogic ProveedorLogic, CommonLogic CommonLogic, StockLogic StockLogic, ProductoLogic ProductoLogic, ProductoXCompraLogic ProductoXCompraLogic) { compraBL = CompraLogic; proveedorBL = ProveedorLogic; productoBL = ProductoLogic; commonBL = CommonLogic; stockBL = StockLogic; productoxCompraBL = ProductoXCompraLogic; }
public VentaMayoristaController(VentaMayoristaLogic VentaMayoristaLogic, ClienteLogic ClienteLogic, EstadoCuentaClienteLogic EstadoCuentaClienteLogic, CommonLogic CommonLogic, StockLogic StockLogic, ProductoXVentaLogic ProductoXVentaLogic, ProductoLogic ProductoLogic) { ventaMayoristaBL = VentaMayoristaLogic; clienteBL = ClienteLogic; estadoCuentaClienteBL = EstadoCuentaClienteLogic; commonBL = CommonLogic; stockBL = StockLogic; productoxVentaBL = ProductoXVentaLogic; productoBL = ProductoLogic; }
void cbxStorageOut_SelectionChanged(object sender, SelectionChangedEventArgs e) { var bill = _dataContext.Master; if (bill.StorageID != default(int)) { List <int> pids = new List <int>(); SysProcessView.UIHelper.TraverseGridViewData <ProductForCannibalize>(gvDatas, p => pids.Add(p.ProductID)); var stocks = StockLogic.GetStockInStorage(bill.StorageID, productIDs: pids.ToArray()); SysProcessView.UIHelper.TraverseGridViewData <ProductForCannibalize>(gvDatas, p => { var stock = stocks.Find(s => s.ProductID == p.ProductID); p.OutStorageStock = (stock == null ? 0 : stock.Quantity); }); } }
void GridDataItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { List <int> pids = new List <int>(); TraverseDatas(e.NewItems, p => pids.Add(p.ProductID)); if (Master.StorageID != default(int)) { var stocks = StockLogic.GetStockInStorage(Master.StorageID, productIDs: pids.ToArray()); TraverseDatas(e.NewItems, p => { var stock = stocks.Find(s => s.ProductID == p.ProductID); p.OutStorageStock = (stock == null ? 0 : stock.Quantity); }); } } }
public CompraController(IRepository <Compra> CompraRepo, IRepository <Stock> StockRepo, //IRepository<Cliente> ClienteRepo, IRepository <Proveedor> ProveedorRepo, IRepository <Clasificacion> ClasificacionRepo, IRepository <Producto> ProductoRepo, //IRepository<ListaPrecioBlister> ListaPrecioBlisterRepo, IRepository <ProductoXCompra> ProductoXCompraRepo, //IRepository<ProductoMix> ProductoMixRepo) IRepository <TipoDeUnidad> TipoDeUnidadRepo) { compraBL = new CompraLogic(CompraRepo); stockBL = new StockLogic(StockRepo); //clienteBL = new ClienteLogic(ClienteRepo); proveedorBL = new ProveedorLogic(ProveedorRepo); clasificacionBL = new CommonLogic(TipoDeUnidadRepo); productoBL = new ProductoLogic(ProductoRepo); productoXCompraBL = new ProductoXCompraLogic(ProductoXCompraRepo); }
public void GetStockTest() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); var stock = new Stock() { Id = 1 }; mockUnitOfWork.Setup(un => un.StockRepository.Get(It.IsAny <Expression <Func <Stock, bool> > >(), null, It.IsAny <string>())).Returns(new List <Stock>() { stock }); IStockLogic stockLogic = new StockLogic(mockUnitOfWork.Object); var result = stockLogic.GetStock(stock.Id); Assert.Equal(result, stock); }
public void CreateStockTest() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(un => un.StockRepository.Get(null, null, "")); mockUnitOfWork.Setup(un => un.StockRepository.Insert(It.IsAny <Stock>())); mockUnitOfWork.Setup(un => un.Save()); IStockLogic stockLogic = new StockLogic(mockUnitOfWork.Object); var result = stockLogic.CreateStock(new Stock() { Code = "aaaa" }); mockUnitOfWork.Verify(un => un.StockRepository.Get(null, null, ""), Times.Once()); mockUnitOfWork.Verify(un => un.StockRepository.Insert(It.IsAny <Stock>()), Times.Once()); mockUnitOfWork.Verify(un => un.Save(), Times.Once()); Assert.True(result); }
public PartialViewResult GetGrindingStock(int BatchID) { var grindingStock = StockLogic.GetGrindingStock(BatchID); if (grindingStock != null) { foreach (var item in grindingStock) { var productStock = StockLogic.GetStockReport(null, null, Convert.ToString(item.ProductID), null, null); if (productStock != null && productStock.Count() > 0) { item.StockQty = Convert.ToString(productStock.FirstOrDefault().ClosingQty); } else { item.StockQty = "0"; } } } return(PartialView("_GrindingStock", grindingStock)); }
public void UpdateStockTest() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); var stock = new Stock() { Id = 1 }; mockUnitOfWork.Setup(un => un.StockRepository.Update(It.IsAny <Stock>())); mockUnitOfWork.Setup(un => un.Save()); IStockLogic stockLogic = new StockLogic(mockUnitOfWork.Object); stock.Code = "AAAA"; var result = stockLogic.UpdateStock(stock); mockUnitOfWork.Verify(un => un.StockRepository.Update(It.IsAny <Stock>()), Times.Once()); mockUnitOfWork.Verify(un => un.Save(), Times.Once()); Assert.True(result); }
public StockController(IRepository <Stock> StockRepo, IRepository <Producto> ProductoRepo, IRepository <TipoDeUnidad> TipoDeUnidadRepo) { stockBL = new StockLogic(StockRepo); productoBL = new ProductoLogic(ProductoRepo); tipoDeUnidadBL = new CommonLogic(TipoDeUnidadRepo); }
private void btnUpdate_Click(object sender, RoutedEventArgs e) { if (cbxStorage.SelectedIndex == -1) { cbxStorage.Focus(); MessageBox.Show("请选择盘点仓库"); return; } if (!rbUpdateAll.IsChecked.Value && !rbUpdatePart.IsChecked.Value && !rbUpdateExact.IsChecked.Value) { MessageBox.Show("请选择更新方式."); return; } if (RadGridView1.ItemsSource == null || RadGridView1.Items.Count == 0) { var mbResult = MessageBox.Show("没有盘点数据,如果选择继续将产生如下影响,是否继续?\n全局更新将清空全部库存\n局部更新将清空局部库存\n精确更新将不影响库存", "注意", MessageBoxButton.YesNo); if (mbResult == MessageBoxResult.No) { return; } } List <DistributionCommonBillVM <BillStocktakeContrast, BillStocktakeContrastDetails> > contrasts = new List <DistributionCommonBillVM <BillStocktakeContrast, BillStocktakeContrastDetails> >(); var stocktakeDatas = RadGridView1.ItemsSource as IEnumerable <StocktakeAggregationEntityForStockUpdate>; if (stocktakeDatas == null) { stocktakeDatas = new List <StocktakeAggregationEntityForStockUpdate>(); } if (rbUpdateAll.IsChecked.Value) //全局更新 { int[] brandIDs = VMGlobal.PoweredBrands.Select(o => o.ID).ToArray(); //GetBrandIDsForUpdate(stocktakeDatas); foreach (int bid in brandIDs) { var stocks = StockLogic.GetStockInStorage((int)cbxStorage.SelectedValue, bid); var contrast = this.GenerateContrast(bid, stocks, stocktakeDatas.Where(o => o.BrandID == bid).ToList()); //contrast.SaveWithNoTran();//添加盈亏单 contrasts.Add(contrast); } } else if (rbUpdatePart.IsChecked.Value)//局部更新 { if (string.IsNullOrWhiteSpace(txtStyleCodeForPartUpdate.Text)) { txtStyleCodeForPartUpdate.Focus(); MessageBox.Show("请输入局部更新条码区间,多个区间以逗号分隔."); return; } var pcodes = txtStyleCodeForPartUpdate.Text.Trim().Split(','); pcodes = pcodes.Select(o => o.Trim()).ToArray(); stocktakeDatas = stocktakeDatas.ToList().Where(StockLogic.GenerateOrElseConditionWithArray <StocktakeAggregationEntityForStockUpdate>("ProductCode", "StartsWith", pcodes).Compile()); int[] brandIDs = GetBrandIDsForUpdate(stocktakeDatas); foreach (int bid in brandIDs) { var stocks = StockLogic.GetStockInStorage((int)cbxStorage.SelectedValue, bid, pcodes); var contrast = this.GenerateContrast(bid, stocks, stocktakeDatas.Where(o => o.BrandID == bid).ToList()); contrasts.Add(contrast); } } else if (rbUpdateExact.IsChecked.Value)//精确更新 { if (stocktakeDatas.Count() == 0) { return; } int[] brandIDs = GetBrandIDsForUpdate(stocktakeDatas); foreach (int bid in brandIDs) { var stocks = StockLogic.GetStockInStorage((int)cbxStorage.SelectedValue, bid, stocktakeDatas.Where(o => o.BrandID == bid).Select(o => o.ProductID).ToArray()); var contrast = this.GenerateContrast(bid, stocks, stocktakeDatas.Where(o => o.BrandID == bid).ToList()); contrasts.Add(contrast); } } UpdateStockWithContrast(contrasts); }
public PartialViewResult Stock(DateTime?FromDate, DateTime?ToDate, string ProductID, string ShadeID, string PackingID) { return(PartialView("_StockDetail", StockLogic.GetStockReport(FromDate, ToDate, ProductID, ShadeID, PackingID))); }
// // GET: /Report/ public ActionResult Stock() { ViewBag.Products = ProductLogic.GetFinishedProducts(); return(View(StockLogic.GetStockReport(null, null, null, null, null))); }
public HomeController(ProductoLogic ProductoLogic, StockLogic StockLogic) { productoBL = ProductoLogic; stockBL = StockLogic; }
static void Main(string[] args) { _coreCount = Environment.ProcessorCount; _apiKey = ConfigurationManager.AppSettings["apiKey"].ToString(); //var scores = StockLogic.GetNaivePicks().OrderByDescending(o => o.Score).ToList(); //foreach(var score in scores) //{ // Console.WriteLine(score.Symbol + "\t" + score.Score); //} DrawMenu(); while (true) { var key = Console.ReadKey(); Console.WriteLine(); switch (key.Key) { case ConsoleKey.NumPad1: case ConsoleKey.D1: { InitializeNYSE(); DrawMenu(); break; } case ConsoleKey.NumPad2: case ConsoleKey.D2: { Console.WriteLine("Not Implemented"); DrawMenu(); break; } case ConsoleKey.NumPad3: case ConsoleKey.D3: { Console.WriteLine("Not Implemented"); DrawMenu(); break; } case ConsoleKey.NumPad4: case ConsoleKey.D4: { GetPricesForAll(); DrawMenu(); break; } case ConsoleKey.NumPad5: case ConsoleKey.D5: { Console.WriteLine("Not Implemented"); DrawMenu(); break; } case ConsoleKey.NumPad6: case ConsoleKey.D6: { CalculateDeltas(); DrawMenu(); break; } case ConsoleKey.NumPad7: case ConsoleKey.D7: { GetPricesForRetry(); DrawMenu(); break; } case ConsoleKey.NumPad8: case ConsoleKey.D8: { var scores = StockLogic.GetNaivePicks().OrderByDescending(o => o.Score).ToList(); foreach (var score in scores) { if (score.Score > 10) { Console.WriteLine(score.Symbol + "\t" + score.Score); } } DrawMenu(); break; } case ConsoleKey.Q: { Environment.Exit(0); break; } } } }
/// <summary> /// 微盟-全量更新库存 /// </summary> private void SyncStock() { StockLogic stockLogic = new StockLogic(); stockLogic.WholeUpdateStockToWm(_startTime, _endTime); }
static void Main(string[] args) { bool flag = true; while (flag) { ProductLogic ProductLogic = new ProductLogic(); StockLogic StockLogic = new StockLogic(); Console.WriteLine("=>Выберите действие<="); Console.WriteLine(new String('*', 20)); Console.WriteLine("1)Посмотреть товары"); Console.WriteLine("2)Добавить товар"); Console.WriteLine("3)Удалить товар"); Console.WriteLine("4)Найти товар по названию"); Console.WriteLine(new String('*', 20)); Console.WriteLine("5)Посмотреть акции"); Console.WriteLine("6)Добавить акцию"); Console.WriteLine("7)Удалить акцию"); Console.WriteLine("8)Найти акцию по дане"); Console.WriteLine(new String('*', 20)); Console.WriteLine("9)Выйти из программы"); Console.WriteLine(); string message = "Возврат в меню"; if (int.TryParse(Console.ReadLine(), out int action)) { switch (action) { case 1: List <Product> all = ProductLogic.GetAll(); if (all.Count == 0) { Console.WriteLine("Товаров нет"); } Console.WriteLine("Все товары:"); foreach (var item in all) { Console.WriteLine($"{item.Id} {item.Title} {item.Price}"); } Console.WriteLine(); break; case 2: Console.WriteLine("Введите"); Console.Write("Название:"); string title = Console.ReadLine(); Console.Write("Цену:"); if (!int.TryParse(Console.ReadLine(), out int Price)) { Console.WriteLine("неверная цена, возврат в меню"); break; } Product product = new Product { Price = Price, Title = title, }; ProductLogic.Add(product); Console.WriteLine(new String('!', 20)); Console.WriteLine("Продукт добавлен"); Console.WriteLine(new String('!', 20)); Console.WriteLine(); break; case 3: Console.WriteLine("Введите id:"); if (int.TryParse(Console.ReadLine(), out int id)) { ProductLogic.DeleteById(id); } else { Console.WriteLine("Не верное id"); } Console.WriteLine(); break; case 4: Console.WriteLine("Введите название товара:"); string titile = Console.ReadLine(); var findList = ProductLogic.FindByTitile(titile); if (findList != null) { if (findList.Count == 0) { Console.WriteLine("Товаров нет"); Console.WriteLine(); break; } Console.WriteLine("Найденые товары"); Console.WriteLine(new String('=', 20)); foreach (var item in findList) { Console.WriteLine($"{item.Id} {item.Title} {item.Price}"); } Console.WriteLine(new String('=', 20)); } else { Console.WriteLine("Товаров с таким названием нет"); } Console.WriteLine(); break; case 5: List <Stock> allAcii = StockLogic.GetAll(); if (allAcii.Count == 0) { Console.WriteLine("Акций нет"); break; } Console.WriteLine("Все акции:"); foreach (var item in allAcii) { Console.WriteLine($"{item.Id} {item.Title} {item.Date.Date:MM/dd/yyyy}"); } Console.WriteLine(); break; case 6: Console.WriteLine("Введите"); Console.Write("Название:"); string titleStock = Console.ReadLine(); Console.Write("Дату проведения ММ/ДД/ГГГГ:"); string dateString = Console.ReadLine(); try { DateTime dateAdd = DateTime.ParseExact(dateString, "MM/dd/yyyy", null); Stock stock = new Stock { Title = titleStock, Date = dateAdd, }; StockLogic.Add(stock); Console.WriteLine(new String('!', 20)); Console.WriteLine("Акция добавлена"); Console.WriteLine(new String('!', 20)); Console.WriteLine(); break; } catch (Exception) { Console.WriteLine(new String('!', 20)); Console.WriteLine("Неверная дата"); Console.WriteLine(new String('!', 20)); Console.WriteLine(); break; } case 7: Console.WriteLine("Введите id:"); if (int.TryParse(Console.ReadLine(), out int idS)) { StockLogic.DeleteById(idS); } else { Console.WriteLine("Не верное id"); } Console.WriteLine(); break; case 8: DateTime date; Console.Write("Введите дату ММ/ДД/ГГГГ:"); string dateFind = Console.ReadLine(); try { date = DateTime.ParseExact(dateFind, "MM/dd/yyyy", null); var listStock = StockLogic.FindByDate(date); if (listStock.Count == 0) { Console.WriteLine("Акций нет"); Console.WriteLine(); break; } Console.WriteLine("Найденые акции"); foreach (var item in listStock) { Console.WriteLine($"{item.Id} {item.Title} {item.Date.Date:MM/dd/yyyy}"); } Console.WriteLine(); } catch { Console.WriteLine("Введите нормальную дату: ММ/ДД/ГГГГ"); } Console.WriteLine(); break; case 9: flag = false; message = "Завершение работы"; break; default: break; } Console.WriteLine(new String('!', 20)); Console.WriteLine(message); Console.WriteLine(new String('!', 20)); Console.WriteLine("Нажмите любую кнопку что бы продолжить"); Console.ReadLine(); } } }