예제 #1
0
        public HttpResponseMessage Get(int businessId)
        {
            //return new string[] { "value1", "value2" };
            var invoices = _invoiceService.Invoices().Where(i => i.BusinessId == businessId).ToList();
            var periods  = _periodService.GetPeriodsByBusinessId(businessId);

            //var denorPeriods = from p in periods
            //                   group p.PeriodrefId by p.BusinessId into g
            //                   select new DenormPeriodView() { Quater = g.Key, Number = g.ToList() };
            if (invoices.Count > 0)
            {
                var invmlist = invoices.Select(i => new InvoiceViewModel()
                {
                    Id       = i.InvoiceId,
                    ClientId = i.ClientId,
                    Details  = new InvoiceDetailModel()
                    {
                        No = i.InvoiceDetail.No, InvoiceDetailId = i.InvoiceDetailId, Discount = i.InvoiceDetail.Discount, DueDate = i.InvoiceDetail.DueDate, IssueDate = i.InvoiceDetail.IssueDate, Note = i.InvoiceDetail.Note, OrderNo = i.InvoiceDetail.OrderNo, Ref = i.InvoiceDetail.Ref
                    },
                    SubTotal   = i.SubTotal,
                    VAT        = i.VAT,
                    Total      = i.Total,
                    BusinessId = i.BusinessId,
                    Items      = i.InvoiceItems.Select(item => new InvoiceItemModal()
                    {
                        Description = item.Description,
                        Id          = item.Id,
                        Price       = item.Price,
                        Quantity    = item.Quantity,
                        SubTotal    = item.SubTotal,
                        Total       = item.Total,
                        VAT         = item.VAT,
                        VATRate     = item.VATRate
                    }).ToList()
                });
                if (periods.Count() > 0)
                {
                    var periodList = periods.Select(p => new PeriodViewModel()
                    {
                        PeriodId    = p.PeriodId,
                        StartPeriod = p.StartPeriod,
                        EndPeriod   = p.EndPeriod,
                        PeriodRefId = p.PeriodrefId,
                        Status      = p.Status
                    }).ToList();
                    var dashboardModel = new DashboardViewModel()
                    {
                        Invoices = invmlist,
                        Periods  = periodList
                    };
                    return(Request.CreateResponse <DashboardViewModel>(HttpStatusCode.OK, dashboardModel));
                }
            }
            return(Request.CreateResponse(HttpStatusCode.NoContent, "empty"));
        }