Пример #1
0
        private ReturnsNoteLineItem MapReturnsNoteLineItem(tblLineItems li)
        {
            var lineItem = new ReturnsNoteLineItem(li.id)
            {
                Description = li.Description,
                LineItemSequenceNo = li.LineItemSequenceNo.Value,
                Qty = li.Quantity.Value,
                Value = li.Value.Value,
                Actual = li.IAN_Actual.Value,
                ReturnType = (ReturnsType)li.Receipt_PaymentTypeId.Value,
                LossType = (LossType)li.OrderLineItemType.Value,
                Reason = li.ReturnsNoteReason,
                Other = li.Other,
            };
            if (li.ProductID != null)
                lineItem.Product = _productRepository.GetById(li.ProductID.Value);

            return lineItem;
        }
        ReturnsNote CreateReturnsNote()
        {
            using (StructureMap.IContainer c = NestedContainer)
            {
                var thisCostCentre = Using<ICostCentreRepository>(c).GetById(Using<IConfigService>(c).Load().CostCentreId);
                var thisUser = Using<IUserRepository>(c).GetById(Using<IConfigService>(c).ViewModelParameters.CurrentUserId);
                ReturnsNote rn = new ReturnsNote(Guid.NewGuid())
                    {
                        DocumentDateIssued = DateTime.Now,
                        DocumentIssuerCostCentre = thisCostCentre,
                        DocumentIssuerCostCentreApplicationId = Using<IConfigService>(c).Load().CostCentreApplicationId,
                        DocumentIssuerUser = thisUser,
                        DocumentRecipientCostCentre = thisCostCentre,
                        DocumentReference =
                        Using<IGetDocumentReference>(c).GetDocReference("RN", thisUser.Id, thisCostCentre.Id),
                        DocumentType = DocumentType.ReturnsNote,
                        Status = DocumentStatus.New,
                        ReturnsNoteType = ReturnsNoteType.DistributorToHQ
                    };
                foreach (DispatchProductLineItem item in LineItems)
                {
                    var li = new ReturnsNoteLineItem(Guid.NewGuid())
                        {
                            Actual = item.Qty,
                            Qty = item.Qty,
                            Description = item.ProductDesc,
                            Product = Using<IProductRepository>(c).GetById(item.ProductId),
                            ReturnType = ReturnsType.Inventory,
                            LineItemSequenceNo = rn._lineItems.Count + 1,
                            IsNew = true,
                            Reason = item.Reason,
                            Other = item.OtherReason
                        };
                    rn.Add(li);
                }

                return rn;
            }
        }