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; } }