private void TestCreateAndVoidInout_0() { var documentNumber = Guid.NewGuid().ToString(); CreateInOut inOut = new CreateInOut(); inOut.DocumentNumber = documentNumber; inOut.CommandId = Guid.NewGuid().ToString(); inOut.DocumentAction = new DocumentAction(DocumentActionName.Draft);// 不能这样写:inOut.DocumentStatus = DocumentStatus.Drafted inOut.ChargeAmount = new Money(10000, "CNY"); inOut.FreightAmount = new Money(400, "CNY"); inOutApplicationService.When(inOut); MergePatchInOut patchInOut = new MergePatchInOut(); patchInOut.DocumentNumber = documentNumber; patchInOut.DocumentAction = new DocumentAction(DocumentActionName.Void);//不能这样写:patchInOut.DocumentStatus = DocumentStatus.Voided patchInOut.Version = 1; patchInOut.CommandId = Guid.NewGuid().ToString(); inOutApplicationService.When(patchInOut); var inOutResult = inOutApplicationService.Get(inOut.DocumentNumber); //Console.WriteLine(inOutResult.DocumentNumber); Assert.AreEqual(DocumentStatus.Voided, inOutResult.DocumentStatus); Console.WriteLine(inOutResult.FreightAmount); Assert.AreEqual(inOut.FreightAmount, inOutResult.FreightAmount); Console.WriteLine(inOutResult.ChargeAmount); Assert.AreEqual(inOut.ChargeAmount, inOutResult.ChargeAmount); }
/// <summary> /// 生成反转的单据(但不包括行)。 /// </summary> protected virtual ICreateInOut DoCreateReversalInOut(IInOutState inOut) { var reversalInOut = new CreateInOut(); //reversalInOut.Organization = inOut.Organization;//? //reversalInOut.Client = inOut.Client; //reversalInOut.CreatedBy = reversalInOut.UpdatedBy = Context.User; //reversalInOut.CreationTime = reversalInOut.UpdateTime = now; //生成新的单号: reversalInOut.DocumentNumber = "RIO" + SeqIdGenerator.GetNextId();//DocumentNumberGenerator.GetNewDocumentNumber(); //设置反转关系: reversalInOut.ReversalDocumentNumber = inOut.DocumentNumber; //inOut.Reversal = reversalInOut; ////源单据前向关联到反转单据: //inOut.Description = "(" + reversalInOut.DocumentNumber + "<-)";//(1000016<-) //反转单据后向关联到源单据: reversalInOut.Description = "{->" + inOut.DocumentNumber + ")";//{->1000015) //reversalInOut.IsSOTransaction = inOut.IsSOTransaction; //reversalInOut. DocumentStatus //reversalInOut.Posted = inOut.Posted;//?? //reversalInOut.Processing = inOut.Processing; //reversalInOut.Processed = inOut.Processed; reversalInOut.DocumentTypeId = inOut.DocumentTypeId; reversalInOut.OrderId = inOut.OrderId; reversalInOut.DateOrdered = inOut.DateOrdered; //reversalInOut.IsPrinted reversalInOut.MovementTypeId = inOut.MovementTypeId; reversalInOut.MovementDate = inOut.MovementDate; reversalInOut.BusinessPartnerId = inOut.BusinessPartnerId; reversalInOut.WarehouseId = inOut.WarehouseId; //reversalInOut.FreightAmount; //reversalInOut.Shipper //reversalInOut.ChargeAmount?? //reversalInOut.DatePrinted; //reversalInOut.CreateFrom //reversalInOut.GenerateTo //reversalInOut.User = inOut.User; //reversalInOut.SalesRepresentative reversalInOut.NumberOfPackages = inOut.NumberOfPackages; //reversalInOut.PickDate //reversalInOut.ShipDate reversalInOut.TrackingNumber = inOut.TrackingNumber; //reversalInOut.DateReceived //reversalInOut.IsInTransit //reversalInOut.IsApproved; //reversalInOut.IsInDispute //reversalInOut.Volume = inOut.Volume; //reversalInOut.Weight = inOut.Weight; //reversalInOut.Rma = inOut.Rma; //reversalInOut.IsDropShip = inOut.IsDropShip; return(reversalInOut); }
private string TestCreateAndComplateInOut_0() { var documentNumber = Guid.NewGuid().ToString(); CreateInOut inOut = new CreateInOut(); inOut.DocumentNumber = documentNumber; inOut.CommandId = Guid.NewGuid().ToString(); //inOut.DocumentAction = DocumentAction.Draft;// 不能这样写:inOut.DocumentStatus = DocumentStatus.Drafted //inOut.ChargeAmount = new Money(10000, "CNY"); //inOut.FreightAmount = new Money(400, "CNY"); inOut.MovementTypeId = DocumentTypeIds.InOut; inOut.MovementDate = DateTime.Now; var line_1 = inOut.NewCreateInOutLine(); line_1.LineNumber = DateTime.Now.Ticks.ToString();//todo line_1.ProductId = "TEST_" + DateTime.Now.Ticks.ToString(); line_1.LocatorId = "TEST_" + DateTime.Now.Ticks.ToString(); line_1.AttributeSetInstanceId = "EMPTY"; line_1.MovementQuantity = 123; inOut.InOutLines.Add(line_1); inOutApplicationService.When(inOut); var complete = new InOutCommands.Complete(); complete.DocumentNumber = documentNumber; complete.Version = 1; complete.CommandId = Guid.NewGuid().ToString(); inOutApplicationService.When(complete); return(documentNumber); /* * MergePatchInOut patchInOut = new MergePatchInOut(); * patchInOut.DocumentNumber = documentNumber; * patchInOut.DocumentAction = DocumentAction.Void;//不能这样写:patchInOut.DocumentStatus = DocumentStatus.Voided * patchInOut.Version = 1; * patchInOut.CommandId = Guid.NewGuid().ToString(); * inOutApplicationService.When(patchInOut); * var inOutResult = inOutApplicationService.Get(inOut.DocumentNumber); * //Console.WriteLine(inOutResult.DocumentNumber); * Assert.AreEqual(DocumentStatusIds.Voided, inOutResult.DocumentStatusId); * //Console.WriteLine(inOutResult.FreightAmount); * //Assert.AreEqual(inOut.FreightAmount, inOutResult.FreightAmount); * //Console.WriteLine(inOutResult.ChargeAmount); * //Assert.AreEqual(inOut.ChargeAmount, inOutResult.ChargeAmount); */ }