public PaymentNote CreatePaymentReturnDocument(ReturnsNote returnnote)
        {
           
                using (var container = NestedContainer)
                {

                    IConfigService _configService = Using<IConfigService>(container);


                    PaymentNote note = new PaymentNote(Guid.NewGuid());

                    note.DocumentDateIssued = DateTime.Now;
                    note.DocumentIssuerCostCentre = returnnote.DocumentIssuerCostCentre;
                    note.DocumentIssuerCostCentreApplicationId = _configService.Load().CostCentreApplicationId;
                    note.DocumentIssuerUser = returnnote.DocumentIssuerUser;
                    note.DocumentRecipientCostCentre = returnnote.DocumentRecipientCostCentre;
                    note.DocumentReference = "";
                    note.DocumentType = DocumentType.PaymentNote;
                    note.PaymentNoteType = PaymentNoteType.Returns;


                    foreach (var item in returnnote._lineItems)
                    {
                        if (item.ReturnType == ReturnsType.Inventory && item.Product == null) continue;

                        PaymentNoteLineItem ianLineitem = new PaymentNoteLineItem(Guid.NewGuid())
                        {
                            Amount = item.Value,
                            Description = item.Reason,
                            LineItemSequenceNo = 0,
                            PaymentMode = (PaymentMode) (int) item.ReturnType,
                        };
                        note.AddLineItem(ianLineitem);
                    }

                    return note;
                }
            
            
        }