Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
             */
        }