public override Stream BuildReport()
        {
            StockHistoryWorksheet = Excel.Workbook.Worksheets.Add("Список Пользователей");

            StockList = StockFunction.GetAllStockHistory();

            // шапка
            StockHistoryWorksheet.Cells[1, 1].Value = "Название товара";
            StockHistoryWorksheet.Cells[1, 2].Value = "Было";
            StockHistoryWorksheet.Cells[1, 3].Value = "Изменение";
            StockHistoryWorksheet.Cells[1, 4].Value = "Стало";
            StockHistoryWorksheet.Cells[1, 5].Value = "Дата";
            StockHistoryWorksheet.Cells[1, 6].Value = "Комментарий";

            int row = 2;

            var ProductGroup = StockList.GroupBy(s => s.ProductId).ToList();

            foreach (var group in ProductGroup)
            {
                group.OrderByDescending(x => x.Id);

                foreach (var stock in group)
                {
                    StockHistoryWorksheet.Cells[row, 1].Value = stock.Product.Name;

                    StockHistoryWorksheet.Cells[row, 2].Value = stock.Balance - stock.Quantity;

                    StockHistoryWorksheet.Cells[row, 3].Value = stock.Quantity;

                    StockHistoryWorksheet.Cells[row, 4].Value = stock.Balance;

                    StockHistoryWorksheet.Cells[row, 5].Value = stock.DateAdd.ToString();

                    StockHistoryWorksheet.Cells[row, 6].Value = stock.Text;

                    row++;
                }
            }

            //foreach(var stock in StockList)
            //{
            //    StockHistoryWorksheet.Cells[row, 1].Value = stock.Product.Name;

            //    StockHistoryWorksheet.Cells[row, 2].Value = stock.Balance + stock.Quantity;

            //    StockHistoryWorksheet.Cells[row, 3].Value = stock.Quantity;

            //    StockHistoryWorksheet.Cells[row, 4].Value = stock.Balance;

            //    StockHistoryWorksheet.Cells[row, 5].Value = stock.DateAdd.ToString();

            //    StockHistoryWorksheet.Cells[row, 6].Value = stock.Text;

            //    row++;

            //}

            return(new MemoryStream(Excel.GetAsByteArray()));
        }
        public override BotMessage BuildMsg()
        {
            db = new MarketBotDbContext();

            StockList = db.Stock.Where(s => s.ProductId == ProductId).Include(s => s.Product).OrderByDescending(s => s.Id).ToList();

            Pages = base.BuildDataPage <Stock>(StockList, base.PageSize);

            base.MessageReplyMarkup = base.PageNavigatorKeyboard <Stock>(Pages, Bot.AdminModule.AdminBot.ViewStockHistoryProdCmd, Bot.AdminModule.AdminBot.ModuleName, base.BackToAdminPanelBtn(), Argument: ProductId);

            if (Pages != null && Pages.Count > 0 && Pages[SelectPageNumber] != null)
            {
                var page = Pages[SelectPageNumber];

                int counter = 0;

                base.TextMessage = base.BlueRhombus + " " + StockList.FirstOrDefault().Product.Name + NewLine() + "Всего записей:" + StockList.Count.ToString() +
                                   NewLine() + "Страница " + SelectPageNumber.ToString() + " из " + Pages.Count.ToString() + NewLine() + NewLine();

                foreach (var stock in page)
                {
                    base.TextMessage += "Дата: " + stock.DateAdd.ToString() + " | Было " + (stock.Balance - stock.Quantity).ToString()
                                        + " | Изменение: " + stock.Quantity.ToString() + " | Стало: " + stock.Balance.ToString() + " | комментарий: " + stock.Text + NewLine();

                    counter++;
                }
            }

            return(this);
        }
示例#3
0
        public List <Goods> GetStockOutGoodsList(uint filterarea)
        {
            List <uint> goodsids = StockList.FindAll(c => c.area == filterarea &&
                                                     (c.TrackType == TrackTypeE.储砖_出 || c.TrackType == TrackTypeE.储砖_出入)).Select(t => t.goods_id).ToList();

            return(GoodsList.FindAll(c => c.area_id == filterarea && goodsids.Contains(c.id)));
        }
示例#4
0
        private async void ButtonLoadAllStocksClick(object sender, EventArgs e)
        {
            comboBoxStocks.Items.Clear();
            labelRemainingTime.Text = @"Время загрузки порядка 15 с.";
            SetButtonsMode(false);
            comboBoxStocks.Text = "";
            m_selectedList      = GetList(StockListNamesEnum.All);
            m_bestStocksNames.Clear();
            foreach (var st in m_selectedList.StList)
            {
                m_bestStocksNames.Add(st.Name);
            }

            Stopwatch stopwa = Stopwatch.StartNew();

            await MainClass.GetStocksList(new FormsTextReporter(labelRemainingTime),
                                          new FormsProgressReporter(progressBar));

            FillStockLists();
            stopwa.Stop();

            LogWriter.WriteLog($"Загрузка списка акций заняла {stopwa.Elapsed.TotalSeconds:F0} с");
            SetButtonsMode(true);

            MessageBox.Show(@"Список загружен");
        }
示例#5
0
        private DateTime?GetEarliestTime(uint trackid)
        {
            Stock stock = StockList.Find(c => c.track_id == trackid && c.PosType == StockPosE.顶部);

            if (stock != null)
            {
                return(stock.produce_time);
            }
            DateTime?    earytime = null;
            List <Stock> list     = StockList.FindAll(c => c.track_id == trackid);

            foreach (Stock item in list)
            {
                if (earytime == null)
                {
                    earytime = item.produce_time;
                }

                if (earytime is DateTime areat && item.produce_time is DateTime stime)
                {
                    if (stime.CompareTo(areat) < 0)
                    {
                        earytime = stime;
                    }
                }
            }

            return(earytime);
        }
        protected virtual void LoadStockAction()
        {
            try
            {
                if (Partidas_DGW.CurrentRow == null)
                {
                    return;
                }
                if (Partidas_DGW.CurrentRow.DataBoundItem == null)
                {
                    return;
                }

                BatchInfo batch = Partidas_DGW.CurrentRow.DataBoundItem as BatchInfo;

                //if (Cache.Instance.Get(typeof(StockList)) != null) return;

                PgMng.Reset(3, 1, Face.Resources.Messages.LOADING_DATA, this);
                PgMng.Grow();

                StockList list = StockList.GetByBatchList(batch.Oid, false, true);
                list.UpdateStocksByBatch(false);
                Stock_BS.DataSource = list;
                //Cache.Instance.Save(typeof(StockList), Stock_BS.DataSource as StockList);
                PgMng.Grow();

                HideComponentes(Stock_TP);

                ControlsMng.UpdateBinding(Stock_BS);
            }
            finally
            {
                PgMng.FillUp();
            }
        }
示例#7
0
        public PlayerPilesViewModel(CommandContainer commandContainer, FlinchGameContainer gameContainer, FlinchVMData model, FlinchMainGameClass mainGame)
        {
            gameContainer.SingleInfo = gameContainer.PlayerList !.GetWhoPlayer();
            CommandContainer         = commandContainer;
            _model    = model;
            _mainGame = mainGame;
            _model.StockPile.ClearCards();
            //model.StockPile = new Piles.StockViewModel(commandContainer, gameContainer.Aggregator);
            gameContainer.SingleInfo !.StockList.ForEach(x =>
            {
                model.StockPile.AddCard(x);
            });

            //model.StockPile.StockFrame.PileList!.ReplaceRange(gameContainer.SingleInfo!.StockList);

            _model.DiscardPiles = new DiscardPilesVM <FlinchCardInformation>(commandContainer, gameContainer.Aggregator);
            _model.DiscardPiles.Init(HowManyDiscards);
            if (gameContainer.SingleInfo !.DiscardList.Count > 0)
            {
                model.DiscardPiles !.PileList !.ReplaceRange(gameContainer.SingleInfo.DiscardList);
            }

            _model.DiscardPiles.PileClickedAsync += DiscardPiles_PileClickedAsync;
            _model.StockPile !.StockClickedAsync += StockPile_StockClickedAsync;
        }
        public async Task<IActionResult> Edit(int id, [Bind("StockID,ItemName,ImagePath,OrgID")] StockList stockList)
        {
            if (id != stockList.StockID)
            {
                return NotFound();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(stockList);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!StockListExists(stockList.StockID))
                    {
                        return NotFound();
                    }
                    else
                    {
                        throw;
                    }
                }
                return RedirectToAction(nameof(Index));
            }
            return View(stockList);
        }
        private List <StockTotals> GetTotals()
        {
            List <StockTotals> result = new List <StockTotals>();

            foreach (StockType stockType in Enum.GetValues(typeof(StockType)))
            {
                result.Add(new StockTotals()
                {
                    StockType        = stockType.ToString(),
                    TotalMarketValue = StockList.Where(x => x.StockType == stockType).Sum(x => x.MarketValue),
                    TotalStockWeight = StockList.Where(x => x.StockType == stockType).Sum(x => x.StockWeight),
                    TotalNumber      = StockList.Count(x => x.StockType == stockType)
                });
            }

            result.Add(new StockTotals()
            {
                StockType        = "All",
                TotalMarketValue = StockList.Sum(x => x.MarketValue),
                TotalStockWeight = StockList.Sum(x => x.StockWeight),
                TotalNumber      = StockList.Count
            });

            return(result);
        }
示例#10
0
        public List <string[]> GetStockList(string rawJson)
        {
            var stockList = StockList.FromJson(rawJson);
            var lstStock  = stockList.Data.Diff.Select(p => new string[] { (p.F12.StartsWith("6")?"sh":"sz") + p.F12, p.F14 }).ToList();

            return(lstStock);
        }
示例#11
0
        private void _NewStockViewModel_TabClosed(object sender, EventArgs e)
        {
            StockList.Clear();
            switch (TransactionObject.TransactionType)
            {
            case TransactionType.Purchase:
                PurchaseOBJ.UpdateCurrentObject();
                foreach (var item in PurchaseOBJ.LinkedStock)
                {
                    StockList.Add(item);
                }

                break;

            case TransactionType.Sale:
                PurchaseOBJ.UpdateCurrentObject();
                foreach (var item in SaleOBJ.StockList)
                {
                    StockList.Add(item);
                }
                break;

                //  case TransactionType.Refund:
            }
        }
示例#12
0
        public bool ChangeStockGood(uint trackid, uint goodid, bool changedate, DateTime?newdate)
        {
            if (Monitor.TryEnter(_so, TimeSpan.FromSeconds(2)))
            {
                try
                {
                    List <Stock> stocks = StockList.FindAll(c => c.track_id == trackid);
                    foreach (Stock stock in stocks)
                    {
                        if (changedate && newdate != null)
                        {
                            stock.produce_time = newdate;
                        }
                        stock.goods_id = goodid;
                        PubMaster.Mod.GoodSql.EditStock(stock, StockUpE.Goods);
                    }

                    StockSumChangeGood(trackid, goodid);
                    SortSumList();
                    return(true);
                }
                finally { Monitor.Exit(_so); }
            }
            return(false);
        }
示例#13
0
        public void CheckTrackSum(uint trackId)
        {
            StockSum sum = StockSumList.Find(c => c.track_id == trackId);

            uint goodsid = StockList.Find(c => c.track_id == trackId && c.goods_id != 0)?.goods_id ?? 0;

            if (sum == null)
            {
                Track track = PubMaster.Track.GetTrack(trackId);
                sum = new StockSum()
                {
                    track_id     = trackId,
                    goods_id     = goodsid,
                    produce_time = StockList.Find(c => trackId == c.track_id).produce_time,
                    area         = track.area,
                    track_type   = track.type
                };
                StockSumList.Add(sum);
                SortSumList();
            }
            if (goodsid > 0)
            {
                Goods goods = GoodsList.Find(c => c.id == goodsid);
                if (goods != null)
                {
                    sum.count  = (uint)StockList.Count(c => c.track_id == trackId);
                    sum.stack  = sum.count * goods.stack;
                    sum.pieces = sum.stack * goods.pieces;
                    SendSumMsg(sum, ActionTypeE.Update);
                }
            }
        }
示例#14
0
        public async Task Run()
        {
            using (var colour = new ScopedConsoleColourHelper(ConsoleColor.Yellow))
            {
                Console.WriteLine("Everybody’s Got Something to Hide Except Me and My Monkey");
            }

            await _stockDeliveryManager.CreateOrUpdate(new StockItem()
            {
                Name = "Mr Marvelous Monkey Munch", Quantity = 100
            });

            var stockList = StockList.Create();

            for (int i = 0; i < 100; i++)
            {
                Random rnd      = new Random();
                int    index    = rnd.Next(minValue, maxValue);
                int    quantity = rnd.Next(minValue, maxQuantityValue);

                var stockItem = stockList[index];

                using (var colour = new ScopedConsoleColourHelper())
                {
                    Console.WriteLine($" Name { stockItem.Name} Quantity {quantity}");
                }

                await _stockDeliveryManager.CreateOrUpdate(new StockItem()
                {
                    Name = stockItem.Name, Quantity = quantity
                });

                await Task.Delay(2000);
            }
        }
示例#15
0
        /// <summary>
        /// Copy the supplement eaten into a SupplementEaten[]
        /// </summary>
        /// <param name="model">The animal model</param>
        /// <param name="suppValues">The supplement data returned</param>
        public static void MakeSuppEaten(StockList model, ref SupplementEaten[] suppValues)
        {
            int  count;
            int  paddIdx;
            uint idx;

            count = 0;
            for (paddIdx = 0; paddIdx <= model.Paddocks.Count() - 1; paddIdx++)
            {
                if (model.Paddocks.byIndex(paddIdx).SuppRemovalKG > 0.0)
                {
                    count++;
                }
            }

            suppValues = new SupplementEaten[count];
            idx        = 0;
            for (paddIdx = 0; paddIdx <= model.Paddocks.Count() - 1; paddIdx++)
            {
                if (model.Paddocks.byIndex(paddIdx).SuppRemovalKG > 0.0)
                {
                    suppValues[idx]         = new SupplementEaten();
                    suppValues[idx].Paddock = model.Paddocks.byIndex(paddIdx).sName;
                    suppValues[idx].Eaten   = model.Paddocks.byIndex(paddIdx).SuppRemovalKG;
                    idx++;
                }
            }
        }
示例#16
0
        /// <summary>
        /// 添加库存
        /// </summary>
        /// <param name="trackid"></param>
        /// <param name="goodid"></param>
        /// <param name="transid"></param>
        public uint AddStock(uint tile_id, uint trackid, uint goodid, byte fullqty, DateTime?producetime = null)
        {
            if (Monitor.TryEnter(_go, TimeSpan.FromSeconds(2)))
            {
                try
                {
                    uint   newid     = PubMaster.Dic.GenerateID(DicTag.NewStockId);
                    byte   stack     = PubMaster.Goods.GetGoodStack(goodid);
                    ushort allpieces = (ushort)(stack * fullqty);
                    Track  track     = PubMaster.Track.GetTrack(trackid);
                    Stock  stock     = new Stock()
                    {
                        id            = newid,
                        track_id      = trackid,
                        goods_id      = goodid,
                        produce_time  = producetime ?? DateTime.Now,
                        stack         = stack,
                        pieces        = allpieces, //总片数
                        tilelifter_id = tile_id,
                        area          = track.area,
                        track_type    = track.type
                    };

                    UpdateTrackPos(stock);
                    StockList.Add(stock);
                    PubMaster.Mod.GoodSql.AddStock(stock);
                    return(newid);
                }
                finally
                {
                    Monitor.Exit(_go);
                }
            }
            return(0);
        }
示例#17
0
 private void RadioButtonUSA_CheckedChanged(object sender, EventArgs e)
 {
     if (radioButtonUSAStocks.Checked)
     {
         m_selectedList = GetList(StockListNamesEnum.Usa);
         LoadNewListInComboBox(m_selectedList.StList);
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            StockList stockList = db.StockLists.Find(id);

            db.StockLists.Remove(stockList);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#19
0
        public ReconcileStock(int _id)
        {
            InitializeComponent();
            id = _id;
            sl = new StockList(id);

            s = sl.ViewAStock(sl[0].StockID);
        }
示例#20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Stock     locStock = new Stock();
            DataTable dv       = locStock.GetStock(AgentState.GetInstance((string)Session["UserName"]).Name);

            StockList.DataSource = dv;
            StockList.DataBind();
        }
 private void getStockListCallback(IEnumerable <string> stockList)
 {
     StockList.Clear();
     foreach (string s in stockList)
     {
         StockList.Add(s);
     }
 }
示例#22
0
 /// <summary>
 /// 显示条码规则列表
 /// </summary>
 public void ShowStockTable()
 {
     foreach (var model in GetStockList())
     {
         StockList.Add(model);
     }
     ShowStockList();
 }
示例#23
0
 public void SetActiveStock(string symbol)
 {
     ActiveStock = StockList.Find(stock => stock.Symbol == symbol);
     if (ActiveStock != null)
     {
         OnActiveStockProcessed(ActiveStock);
     }
 }
示例#24
0
 private void RadioButtonFromTinkoff_CheckedChanged(object sender, EventArgs e)
 {
     if (radioButtonFromTinkoff.Checked)
     {
         m_selectedList = GetList(StockListNamesEnum.Tinkoff);
         LoadNewListInComboBox(m_selectedList.StList);
     }
 }
示例#25
0
    public Stock AddStock(string symbol, string companyName, Industry industry)
    {
        Stock stock = new Stock(symbol, companyName, industry, this);

        StockList.Add(stock);
        stock.OnProcess += HandleStockProcessed;
        OnStockAdded(stock);
        return(stock);
    }
示例#26
0
        /// <summary>
        /// 生成上砖记录
        /// </summary>
        /// <param name="stockid"></param>
        /// <param name="iD"></param>
        /// <param name="leftTrackId"></param>
        public void AddStockOutLog(uint stockid, uint trackid, uint tileid)
        {
            Stock stock = StockList.Find(c => c.id == stockid);

            if (stock != null)
            {
                PubMaster.Mod.GoodSql.AddStockOutLog(stock, trackid, tileid);
            }
        }
示例#27
0
        public void TransferCards()
        {
            _moves += 2;
            var thisCard = _gameContainer.CurrentComputer !.StockList.First();

            _gameContainer.CurrentComputer.Discard.Add(thisCard);
            _gameContainer.CurrentComputer.StockList.RemoveSpecificItem(thisCard);
            UpdateComputerCount();
        }
示例#28
0
        /// <summary>
        /// 添加下砖记录
        /// </summary>
        /// <param name="stockid"></param>
        public void AddStockInLog(uint stockid)
        {
            Stock stock = StockList.Find(c => c.id == stockid);

            if (stock != null)
            {
                PubMaster.Mod.GoodSql.AddStockInLog(stock);
            }
        }
示例#29
0
        /// <summary>
        /// 根据上砖机,品种,分配库存
        /// 1.优先分配,非满砖轨道
        /// 2.在满砖轨道中,分配时间最早的轨道
        /// </summary>
        /// <param name="tilelifterid"></param>
        /// <param name="goodsid"></param>
        /// <param name="stockid"></param>
        /// <param name="taketrackid"></param>
        /// <returns></returns>
        public bool GetStock(uint areaid, uint tilelifterid, uint goodsid, out List <Stock> allocatstocks)
        {
            allocatstocks = new List <Stock>();

            //1.找到上砖机配置的轨道
            List <AreaDeviceTrack> devtrack = PubMaster.Area.GetAreaDevTraList(areaid, tilelifterid);

            //2.根据优先级查看非空且是需求的品种的轨道
            List <Stock> stocks = StockList.FindAll(c => c.goods_id == goodsid &&
                                                    c.PosType == StockPosE.顶部 &&
                                                    devtrack.Exists(d => d.track_id == c.track_id));

            if (stocks.Count == 0)
            {
                //找不到库存
                return(false);
            }

            stocks.Sort((x, y) => x.pos.CompareTo(y.pos));
            //foreach (Stock stock in stocks)
            //{
            //    //优先取非满的轨道
            //    if (stock.pos > 1 && PubMaster.Track.IsTrackHaveStock(stock.track_id)
            //        && PubMaster.Track.IsTrackEnable(stock.track_id))
            //    {
            //        allocatstocks.Add(stock);
            //    }
            //}

            //全部都是满砖,则找时间最早的库存
            stocks.Sort(
                (x, y) =>
            {
                if (x.produce_time is DateTime xtime && y.produce_time is DateTime ytime)
                {
                    return(xtime.CompareTo(ytime));
                }
                return(0);
            }
                );

            int minStockTime = PubMaster.Dic.GetDtlIntCode("MinStockTime");

            foreach (Stock stock1 in stocks)
            {
                if ((DateTime.Now - (DateTime)stock1.produce_time).TotalHours >= minStockTime)
                {
                    if (PubMaster.Track.IsTrackFull(stock1.track_id) &&
                        PubMaster.Track.IsTrackEnable(stock1.track_id, TrackStatusE.仅上砖))
                    {
                        allocatstocks.Add(stock1);
                    }
                }
            }
            return(allocatstocks.Count > 0);
        }
示例#30
0
        protected void BindStockList(int Pm_id, int WareHouseId)
        {
            int       count = 0;
            SqlHelper conn  = LocalSqlHelper.WH;
            string    sql   = "select stock_id,pro_txm,pro_name,pro_spec,pro_model, shelf_no from View_Product with(nolock) where warehouse_id=" + WareHouseId + " and pm_id=" + Pm_id + " order by pro_model";
            //Response.Write(sql);
            DataTable dt = conn.ExecDataTable(sql);

            StockList.DataShow(dt);
        }
 public async Task<IActionResult> Create([Bind("StockID,ItemName,ImagePath,OrgID")] StockList stockList)
 {
     if (ModelState.IsValid)
     {
         _context.Add(stockList);
         await _context.SaveChangesAsync();
         return RedirectToAction(nameof(Index));
     }
     return View(stockList);
 }
示例#32
0
        public CuttingStock(StockList theStocks, ItemList theItems/*, float theTotalItemsSum/*, ToolStripLabel theTextBoxStatus, ToolStripProgressBar theToolStripProgressBar, CheckBox theExitGreedyNextFit*/)
        {
            this.TotalItemsSum =theItems.Sum;

            //this.Label = theTextBoxStatus;
            //this.ProgressBar = theToolStripProgressBar;
           // this.ExitGreedyNextFit = theExitGreedyNextFit;

            // Get a List of Stocks available
            this.ListOfStocks =  theStocks.Available;

            // Get a List of Items available
            this.ListOfItems = theItems.Available;
        }
示例#33
0
        public viewStock(int _id)
        {
            InitializeComponent();
            id = _id;
            sl = new StockList(id);

            s = sl.ViewAStock(sl[0].StockID);

            txtBrand.Text = s.Brand;
            txtProduct.Text = s.Product;
            txtPrice.Text = Convert.ToString(s.Price);
            txtSize.Text = Convert.ToString(s.Size);
            txtQuantity.Text = Convert.ToString(s.Quantity);
            txtBarcode.Text = s.Barcode;
            txtSupplier.Text = Convert.ToString(s.SupplierID);
        }
示例#34
0
        private void button2_Click(object sender, EventArgs e)
        {
            StockList ss = new StockList();
            try
            {
                ss = sl.SearchStock(txtSName.Text, txtBName.Text, txtPName.Text);

                dataGridView1.DataSource = ss;

                if (ss.Count == 0)
                {
                    MessageBox.Show("No Items Found");
                }
            }
            catch (Exception d)
            {
                MessageBox.Show("ERROR: " + d);
            }
        }