public RegisteredMovement Create(CreateMovement newRegistry) { using (LogisticDataContext logisticDataContext = new LogisticDataContext()) { var eMovement = newRegistry.ToEntity(); logisticDataContext.Movements.Add(eMovement); logisticDataContext.SaveChanges(); return(eMovement.ToDTO()); } }
public static Movement ToEntity(this CreateMovement createMovement) { return(new Movement() { MovementDate = createMovement.MovementDate , WarehouseId = createMovement.WarehouseId , MovementTypeId = createMovement.MovementTypeId , CreationDate = DateTime.Now , Details = createMovement.ListDetails.ToList().Select(x => x.ToEntity()).ToList() }); }
private string TestCreateAndCompleteAndReverseMovement_1() { var documentNumber = Guid.NewGuid().ToString(); CreateMovement movement = new CreateMovement(); movement.DocumentNumber = documentNumber; movement.CommandId = Guid.NewGuid().ToString(); movement.WarehouseIdFrom = "1"; movement.WarehouseIdTo = "2"; movement.MovementDate = DateTime.Now; movement.IsInTransit = false;//movement.IsInTransit = true; var line_1 = movement.NewCreateMovementLine(); line_1.LineNumber = DateTime.Now.Ticks.ToString();//todo line_1.ProductId = "TEST_" + DateTime.Now.Ticks.ToString(); line_1.LocatorIdFrom = "1_TEST_F_" + DateTime.Now.Ticks.ToString(); line_1.LocatorIdTo = "2_TEST_T_" + DateTime.Now.Ticks.ToString(); line_1.AttributeSetInstanceId = "EMPTY"; line_1.MovementQuantity = 123; movement.MovementLines.Add(line_1); movementApplicationService.When(movement); var complete = new MovementCommands.DocumentAction(); complete.Value = DocumentAction.Complete; complete.DocumentNumber = documentNumber; complete.Version = 1; complete.CommandId = Guid.NewGuid().ToString(); movementApplicationService.When(complete); var reverse = new MovementCommands.DocumentAction(); reverse.Value = DocumentAction.Reverse; reverse.DocumentNumber = documentNumber; reverse.Version = 2; reverse.CommandId = Guid.NewGuid().ToString(); movementApplicationService.When(reverse); return(documentNumber); }
/// <summary> /// 生成反转的单据(但不包括行)。 /// </summary> protected virtual ICreateMovement DoCreateReversalMovement(IMovementState movement) { var reversalMov = new CreateMovement(); //reversalInOut.Organization = inOut.Organization; //reversalInOut.Client = inOut.Client; //生成新的单号: reversalMov.DocumentNumber = "RM" + SeqIdGenerator.GetNextId();//DocumentNumberGenerator.GetNewDocumentNumber(); //设置反转关系: reversalMov.ReversalDocumentNumber = movement.DocumentNumber; //movement.Reversal = reversalMov; //源单据前向关联到反转单据: //movement.Description = "(" + reversalMov.DocumentNumber + "<-)";//(1000016<-) //反转单据后向关联到源单据: reversalMov.Description = "{->" + movement.DocumentNumber + ")";//{->1000015) //reversalMov.Posted = movement.Posted;//?? //reversalMov.Processing = movement.Processing; //reversalMov.Processed = movement.Processed; reversalMov.DocumentTypeId = movement.DocumentTypeId; reversalMov.MovementDate = movement.MovementDate;//??? reversalMov.ApprovalAmount = movement.ApprovalAmount; reversalMov.ChargeAmount = movement.ChargeAmount; reversalMov.DateReceived = movement.DateReceived; reversalMov.FreightAmount = movement.FreightAmount; reversalMov.Active = movement.Active; reversalMov.IsInTransit = false;//?? reversalMov.SalesRepresentativeId = movement.SalesRepresentativeId; reversalMov.ShipperId = movement.ShipperId; reversalMov.BusinessPartnerId = movement.BusinessPartnerId; //reversalMov.User = movement.User; reversalMov.WarehouseIdFrom = movement.WarehouseIdFrom; reversalMov.WarehouseIdTo = movement.WarehouseIdTo; return(reversalMov); }
private string CreateAndCompleteTestMovement(bool isInTransit) { var documentNumber = Guid.NewGuid().ToString(); CreateMovement movement = new CreateMovement(); movement.DocumentNumber = documentNumber; movement.CommandId = Guid.NewGuid().ToString(); movement.WarehouseIdFrom = "1"; movement.WarehouseIdTo = "2"; //movement.DocumentAction = DocumentAction.Draft;// 不能这样写:movement.DocumentStatus = DocumentStatus.Drafted //movement.ChargeAmount = new Money(10000, "CNY"); //movement.FreightAmount = new Money(400, "CNY"); //movement.MovementTypeId = DocumentTypeIds.Movement; movement.MovementDate = DateTime.Now; ////////////////// movement.IsInTransit = isInTransit; ////////////////// var line_1 = movement.NewCreateMovementLine(); line_1.LineNumber = DateTime.Now.Ticks.ToString();//todo line_1.ProductId = "TEST_" + DateTime.Now.Ticks.ToString(); line_1.LocatorIdFrom = "1_TEST_F_" + DateTime.Now.Ticks.ToString(); line_1.LocatorIdTo = "2_TEST_T_" + DateTime.Now.Ticks.ToString(); line_1.AttributeSetInstanceId = "EMPTY"; line_1.MovementQuantity = 123; movement.MovementLines.Add(line_1); movementApplicationService.When(movement); var complete = new MovementCommands.DocumentAction(); complete.Value = DocumentAction.Complete; complete.DocumentNumber = documentNumber; complete.Version = 1; complete.CommandId = Guid.NewGuid().ToString(); movementApplicationService.When(complete); return(documentNumber); }
public RegisteredMovement Create(CreateMovement createMovement) { return(_movementService.Create(createMovement)); }