/// <inheritdoc /> /// <summary> /// The get recipients. /// </summary> /// <param name="name"> /// The name. /// </param> /// <param name="number"> /// The number. /// </param> /// <returns> /// The <see cref="T:System.Threading.Tasks.Task" />. /// </returns> public async Task <List <UiRecipient> > GetRecipients(string name, string number) { var recipients = await this.GetRecipient(name, number); if (!recipients.Any()) { return(new List <UiRecipient>()); } var uiRecipients = new List <UiRecipient>(); foreach (var recipient in recipients) { var uiRecipient = new UiRecipient { Name = recipient.Name, Address = recipient.Address, RecipientNumber = recipient.RecipientNumber }; uiRecipients.Add(uiRecipient); } return(uiRecipients); }
/// <inheritdoc /> /// <summary> /// The get recipient invoices. /// </summary> /// <param name="name"></param> /// <param name="number"></param> /// <returns> /// The <see cref="T:System.Threading.Tasks.Task" />. /// </returns> public async Task <List <UiRecipient> > GetRecipientInvoices(string name, string number) { var recipients = await this.GetRecipient(name, number); if (!recipients.Any()) { return(new List <UiRecipient>()); } var uiRecipients = new List <UiRecipient>(); foreach (var recipient in recipients) { var uiRecipient = new UiRecipient { Name = recipient.Name, Address = recipient.Address, RecipientNumber = recipient.RecipientNumber }; var invoices = recipient.Invoices.Select( x => new UiInvoice { CreatedBy = x.CreatedBy, InvoiceNo = x.InvoiceNo, Approved = x.Approved, CreatedOn = x.CreatedOn, LastUpdated = x.LastUpdated, Status = x.Status, Title = x.Title }); uiRecipient.Invoices.AddRange(invoices); uiRecipients.Add(uiRecipient); } return(uiRecipients); }
/// <inheritdoc /> /// <summary> /// The get user invoice. /// </summary> /// <param name="user"> /// The user. /// </param> /// <returns> /// The <see cref="T:System.Threading.Tasks.Task" />. /// </returns> public async Task <UiUserInvoice> GetUserInvoices(string user) { var invoices = await this.invoiceRepository.FindByCreator(user); if (!invoices.Any()) { return(new UiUserInvoice()); } var userInvoices = new UiUserInvoice(); if (invoices.Any()) { foreach (var invoice in invoices) { var uiInvoice = new UiInvoice { InvoiceNo = invoice.InvoiceNo, Approved = invoice.Approved, CreatedBy = invoice.CreatedBy, CreatedOn = invoice.CreatedOn, Title = invoice.Title, LastUpdated = invoice.LastUpdated, UpdatedBy = invoice.UpdatedBy, Status = invoice.Status }; var recipient = invoice.Recipient; var uiRecipient = new UiRecipient { Name = recipient.Name, Address = recipient.Address, RecipientNumber = recipient.RecipientNumber }; uiInvoice.Recipient = uiRecipient; var authorities = invoice.Authorities; if (authorities.Any()) { var uiAuthorities = invoice.Authorities.Select( x => new UiAuthority { Name = x.Name, Department = x.Department, Approved = x.Approved, ApprovedOn = x.ApprovedOn }); uiInvoice.Authorities.AddRange(uiAuthorities); } var invoiceItems = invoice.InvoiceItems; if (invoiceItems.Any()) { var uiInvoiceItems = invoiceItems.Select( x => new UiInvoiceItem { Name = x.Name, Amount = x.Amount, Description = x.Description }); uiInvoice.InvoiceItems.AddRange(uiInvoiceItems); } userInvoices.InvoicesCreatedByUser.Add(uiInvoice); } } var relatedAuthorities = await this.authorityRepository.FindRelatedInvoices(user); if (relatedAuthorities.Any()) { foreach (var auth in relatedAuthorities) { var invoice = auth.Invoice; var uiInvoice = new UiInvoice { InvoiceNo = invoice.InvoiceNo, Approved = invoice.Approved, CreatedBy = invoice.CreatedBy, CreatedOn = invoice.CreatedOn, Title = invoice.Title, LastUpdated = invoice.LastUpdated, UpdatedBy = invoice.UpdatedBy, Status = invoice.Status }; var recipient = invoice.Recipient; var uiRecipient = new UiRecipient { Name = recipient.Name, Address = recipient.Address, RecipientNumber = recipient.RecipientNumber }; uiInvoice.Recipient = uiRecipient; var invoiceItems = invoice.InvoiceItems; if (invoiceItems.Any()) { var uiInvoiceItems = invoiceItems.Select( x => new UiInvoiceItem { Name = x.Name, Amount = x.Amount, Description = x.Description }); uiInvoice.InvoiceItems.AddRange(uiInvoiceItems); } userInvoices.InvoicesApprovedByUser.Add(uiInvoice); } } return(userInvoices); }