public IEnumerable <IResult> Add()
        {
            while (true)
            {
                if (!IsValide(Doc))
                {
                    yield break;
                }

                var search = new StockSearch();
                yield return(new DialogResult(search, false, true));

                var edit = new EditStock(search.CurrentItem)
                {
                    EditMode = EditStock.Mode.EditQuantity
                };
                yield return(new DialogResult(edit));

                var srcStock = Session.Load <Stock>(edit.Stock.Id);
                var dstStock = srcStock.Copy();
                dstStock.Address  = Doc.DstAddress;
                dstStock.Quantity = dstStock.ReservedQuantity = dstStock.SupplyQuantity = 0;
                Session.Save(dstStock);

                var line = new DisplacementLine(srcStock, dstStock, edit.Stock.Quantity);
                Lines.Add(line);
                Doc.Lines.Add(line);
                Doc.UpdateStat();
                Save();
            }
        }
        public IEnumerable <IResult> Add()
        {
            var search = new StockSearch();

            yield return(new DialogResult(search, resizable: true));

            var edit = new EditStock(search.CurrentItem)
            {
                EditMode = EditStock.Mode.EditQuantity
            };

            yield return(new DialogResult(edit));

            var line = new WriteoffLine(Session.Load <Stock>(edit.Stock.Id), edit.Stock.Quantity);

            Lines.Add(line);
            Doc.Lines.Add(line);
            Doc.UpdateStat();
        }
示例#3
0
        public IEnumerable <IResult> Add()
        {
            var search = new StockSearch();

            yield return(new DialogResult(search, resizable: true));

            var srcStock = Session.Load <Stock>(search.CurrentItem.Value.Id);
            var dstStock = srcStock.Copy();
            var edit     = new EditStock(dstStock)
            {
                EditMode = EditStock.Mode.EditRetailCostAndQuantity
            };

            yield return(new DialogResult(edit));

            var line = new ReassessmentLine(srcStock, dstStock);

            Lines.Add(line);
            Doc.Lines.Add(line);
            Doc.UpdateStat();
        }
        public IEnumerable <IResult> Add()
        {
            if (Doc.Supplier == null)
            {
                Manager.Warning("Укажите поставщика");
                yield break;
            }
            while (true)
            {
                var search = new StockSearch(Doc.Supplier.Id);
                yield return(new DialogResult(search, false, true));

                var edit = new EditStock(search.CurrentItem)
                {
                    EditMode = EditStock.Mode.EditQuantity
                };
                yield return(new DialogResult(edit));

                var line = new ReturnLine(Session.Load <Stock>(edit.Stock.Id), edit.Stock.Quantity);
                Lines.Add(line);
                Doc.Lines.Add(line);
                Doc.UpdateStat();
            }
        }