public PriceNegotiationProtocol(DisplacementDoc d, IList <DisplacementLine> lines, string fio) { this.d = d; this.lines = lines; this.fio = fio; ((IDocumentPaginatorSource)doc).DocumentPaginator.PageSize = new Size(1069, 756); BlockStyle = new Style(typeof(Paragraph)) { Setters = { new Setter(Control.FontSizeProperty, 10d), new Setter(System.Windows.Documents.Block.MarginProperty, new Thickness(0, 3, 0, 3)) } }; HeaderStyle = new Style(typeof(Run), HeaderStyle) { Setters = { new Setter(Control.FontSizeProperty, 12d), } }; TableHeaderStyle = new Style(typeof(TableCell), TableHeaderStyle) { Setters = { new Setter(Control.FontSizeProperty, 10d), } }; }
public CreateDisplacementDoc(DisplacementDoc doc) { InitFields(); Doc = doc; DisplayName = "Создание накладной перемещения"; WasCancelled = true; }
public DisplacementWDocument(DisplacementDoc d, IList <DisplacementLine> lines, WaybillSettings waybillSettings, RequirementWaybillName result) { requirementWaybillName = result; doc.PagePadding = new Thickness(29); ((IDocumentPaginatorSource)doc).DocumentPaginator.PageSize = new Size(1069, 756); this.d = d; this.lines = lines; this.waybillSettings = waybillSettings; BlockStyle = new Style(typeof(Paragraph)) { Setters = { new Setter(Control.FontSizeProperty, 10d), new Setter(System.Windows.Documents.Block.MarginProperty, new Thickness(0, 3, 0, 3)) } }; HeaderStyle = new Style(typeof(Run), HeaderStyle) { Setters = { new Setter(Control.FontSizeProperty, 14d), new Setter(Control.FontWeightProperty, FontWeights.Normal), } }; TableHeaderStyle = new Style(typeof(TableCell), TableHeaderStyle) { Setters = { new Setter(Control.FontSizeProperty, 10d), } }; }
public void Setup() { shell.CurrentAddress.Value = address; restore = true; var stock = new Stock() { Product = "Папаверин", Status = StockStatus.Available, Address = address, Quantity = 5, ReservedQuantity = 0, SupplyQuantity = 5 }; session.Save(stock); //На складе есть Папаверин в количестве 5шт. Assert.AreEqual(stock.Quantity, 5); Assert.AreEqual(stock.ReservedQuantity, 0); session.DeleteEach <DisplacementDoc>(); secondAddress = new Address("Тестовый адрес"); session.Save(secondAddress); var dstStock = stock.Copy(); dstStock.Address = secondAddress; dstStock.Quantity = 0; session.Save(dstStock); var doc = new DisplacementDoc { Date = DateTime.Now, Address = address, DstAddress = secondAddress, }; //Мы создаем документ Внутренее перемещение на 3 упаковки, после того как строка папаверина //добавлена и документ сохранен, на складе у нас будет - Папаверин 2шт, 3шт в резерве // Резерв – состояние создания документа. Товар, введенный в документ, на складе находится в состоянии Резерв var line = new DisplacementLine(stock, dstStock, 3); doc.Lines.Add(line); session.Save(doc); Assert.AreEqual(stock.Quantity, 2); Assert.AreEqual(stock.ReservedQuantity, 3); Assert.AreEqual(dstStock.Quantity, 0); Assert.AreEqual(dstStock.ReservedQuantity, 0); Assert.AreEqual(line.Quantity, 3); Assert.AreEqual(doc.Status, DisplacementDocStatus.NotPosted); model = Open(new DisplacementDocs()); modelDetails = Open(new EditDisplacementDoc(doc.Id)); }
private void InitDoc(DisplacementDoc doc) { Doc = doc; var docStatus = Doc.ObservableForProperty(x => x.Status, skipInitial: false); var editOrDelete = docStatus .CombineLatest(CurrentLine, (x, y) => y != null && x.Value == DisplacementDocStatus.NotPosted); editOrDelete.Subscribe(CanEditLine); editOrDelete.Subscribe(CanDelete); docStatus.Subscribe(x => CanAdd.Value = x.Value == DisplacementDocStatus.NotPosted); docStatus.Select(x => x.Value == DisplacementDocStatus.NotPosted).Subscribe(CanPost); docStatus.Select(x => x.Value == DisplacementDocStatus.Posted).Subscribe(CanUnPost); docStatus.Select(x => x.Value == DisplacementDocStatus.Posted).Subscribe(CanEndDoc); }
public IEnumerable <IResult> Create() { if (Address == null) { yield break; } var doc = new DisplacementDoc(Address, User); yield return(new DialogResult(new CreateDisplacementDoc(doc))); Session.Save(doc); Update(); Shell.Navigate(new EditDisplacementDoc(doc.Id)); }
public void Exchange() { localSession.Connection.Execute(@"delete from Stocks; delete from StockActions;"); session.Connection.Execute(@"delete from inventory.Stocks;"); session.Connection.Execute(@"delete from inventory.StockActions;"); session.Connection.Execute(@"delete from Documents.DocumentHeaders;"); var stockCount = session.Connection.Query <object>("select * from inventory.Stocks").ToArray(); var actions = session.Connection.Query <object>("select * from inventory.StockActions").ToArray(); stockCount = localSession.Connection.Query <object>("select * from Stocks").ToArray(); actions = localSession.Connection.Query <object>("select * from StockActions").ToArray(); Run(new SyncCommand()); var fixture = new CreateWaybill(); Fixture(fixture); Run(new UpdateCommand("Waybills")); var waybill = localSession.Load <Waybill>(fixture.Waybill.Log.Id); var stockids = waybill.Lines.Where(x => x.StockId != null).Select(x => x.StockId).ToArray(); var map = localSession.Query <Stock>().Where(x => stockids.Contains(x.ServerId)).ToDictionary(x => x.ServerId); waybill.Lines.Each(y => { y.Stock = map.GetValueOrDefault(y.StockId); }); waybill.Stock(localSession); // чек +0 сток = 33 +1 стокакшин = 34 var check = new Check(localSession.Query <User>().First(), address, new[] { new CheckLine(waybill.Lines[0].Stock, 1), }, CheckType.SaleBuyer); check.Lines.Each(x => x.Doc = check); localSession.Save(check); localSession.SaveEach(check.Lines); localSession.SaveEach(check.Lines.Select(x => x.UpdateStock(x.Stock, CheckType.SaleBuyer))); // распаковка +1 сток = 34 +2 стокакшин = 36 var unpackingDoc = new UnpackingDoc(address, localSession.Query <User>().First()); var unpackingLine = new UnpackingLine(waybill.Lines[1].Stock, 10); unpackingDoc.Lines.Add(unpackingLine); unpackingDoc.Post(); unpackingDoc.PostStockActions(); localSession.Save(unpackingDoc); foreach (var line in unpackingDoc.Lines) { localSession.Save(line); } unpackingDoc.PostStockActions(); foreach (var line in unpackingDoc.Lines) { localSession.Save(line.SrcStockAction); localSession.Save(line.DstStockAction); } // Списание +0 сток = 34 +1 стокакшин = 37 var writeoffDoc = new WriteoffDoc(address, localSession.Query <User>().First()); var writeoffLine = new WriteoffLine(waybill.Lines[2].Stock, 1); writeoffDoc.Lines.Add(writeoffLine); writeoffDoc.Post(localSession); localSession.Save(writeoffDoc); //Возврат +0 сток = 34 +1 стокакшин = 38 var ReturnDoc = new ReturnDoc(address, localSession.Query <User>().First()); ReturnDoc.Supplier = waybill.Supplier; var ReturnLine = new ReturnLine(waybill.Lines[3].Stock, 1); ReturnDoc.Lines.Add(ReturnLine); ReturnDoc.Post(localSession); localSession.Save(ReturnDoc); //переоценка +1 сток = 35 +2 стокакшин = 40 var ReassessmentDoc = new ReassessmentDoc(address, localSession.Query <User>().First()); var stock = waybill.Lines[4].Stock.Copy(); stock.RetailCost += 10; var ReassessmentLine = new ReassessmentLine(waybill.Lines[4].Stock, stock); ReassessmentDoc.Lines.Add(ReassessmentLine); ReassessmentDoc.Post(localSession); localSession.Save(ReassessmentDoc); //переоценка +0 сток = 35 +1 стокакшин = 41 var InventoryDoc = new InventoryDoc(address, localSession.Query <User>().First()); var InventoryLine = new InventoryLine(InventoryDoc, waybill.Lines[5].Stock, 5, localSession); InventoryDoc.Lines.Add(InventoryLine); InventoryDoc.Post(); localSession.Save(InventoryDoc); //Перемещение +1 сток = 36 +2 стокакшин = 43 var DisplacementDoc = new DisplacementDoc(address, localSession.Query <User>().First()); var DisplacementLine = new DisplacementLine(waybill.Lines[6].Stock, waybill.Lines[6].Stock.Copy(), 1); DisplacementDoc.Lines.Add(DisplacementLine); DisplacementDoc.Post(localSession); localSession.Save(DisplacementDoc); Run(new SyncCommand()); stockCount = session.Connection.Query <object>("select * from inventory.Stocks").ToArray(); actions = session.Connection.Query <object>("select * from inventory.StockActions").ToArray(); Assert.AreEqual(36, stockCount.Length); Assert.AreEqual(43, actions.Length); Run(new SyncCommand()); stockCount = session.Connection.Query <object>("select * from inventory.Stocks").ToArray(); actions = session.Connection.Query <object>("select * from inventory.StockActions").ToArray(); Assert.AreEqual(36, stockCount.Length); Assert.AreEqual(43, actions.Length); }