Exemple #1
0
        public OperationReturnModel <InvoiceHeaderReturnModel> Invoice(PagingModel paging, [FromUri] string customerBranch, [FromUri] string customerNumber)
        {
            OperationReturnModel <InvoiceHeaderReturnModel> retVal = new OperationReturnModel <InvoiceHeaderReturnModel>();

            try
            {
                retVal.SuccessResponse = _invLogic.GetInvoiceHeaders(this.AuthenticatedUser,
                                                                     new UserSelectedContext()
                {
                    BranchId   = customerBranch,
                    CustomerId = customerNumber
                },
                                                                     paging,
                                                                     false);
                retVal.IsSuccess = true;
            }
            catch (Exception ex)
            {
                _log.WriteErrorLog("GetInvoiceHeaders", ex);
                retVal.ErrorMessage = ex.Message;
                retVal.IsSuccess    = false;
            }

            return(retVal);
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="context"></param>
        /// <param name="request"></param>
        /// <param name="forAllCustomers"></param>
        /// <returns></returns>
        public List <InvoiceModel> GetExportableInvoiceModels(UserProfile user, UserSelectedContext context, ExportRequestModel request, bool forAllCustomers)
        {
            PagingModel myPaging = new PagingModel()
            {
                Filter    = request.Filter,
                DateRange = request.DateRange
            };

            if (request.Sort != null)
            {
                myPaging.Sort = request.Sort;
            }

            var list = _invLogic.GetInvoiceHeaders(user, context, myPaging, forAllCustomers);

            if (request.Fields != null)
            {
                _exportLogic.SaveUserExportSettings(user.UserId, Core.Models.Configuration.EF.ExportType.Invoice, 0, request.Fields, request.SelectedType);
            }

            List <InvoiceModel> exportData = new List <InvoiceModel>();

            if (list != null &&
                list.PagedResults != null &&
                list.PagedResults.Results != null &&
                list.PagedResults.Results.Count > 0)
            {
                exportData.AddRange(list.PagedResults.Results);
            }

            if (list != null &&
                list.CustomersWithInvoices != null &&
                list.CustomersWithInvoices.Results != null &&
                list.CustomersWithInvoices.Results.Count > 0)
            {
                foreach (var customer in list.CustomersWithInvoices.Results)
                {
                    exportData.AddRange(customer.PagedResults.Results);
                }
            }

            return(exportData);
        }
            public void WhenGettingInvoiceHeadersForCustomerAndSortingByAmountAscending_ResultingInvoiceNumbersAreInExpectedOrder()
            {
                // arrange
                MockDependents       mockDependents = new MockDependents();
                IOnlinePaymentsLogic testunit       = MakeTestsLogic(useAutoFac: true, mockDependents: ref mockDependents);
                var testUser    = new UserProfile();
                var testContext = new UserSelectedContext
                {
                    BranchId   = "XXXXX",
                    CustomerId = "111111"
                };
                var testPaging = new PagingModel()
                {
                    Sort = new List <SortInfo>()
                    {
                        new SortInfo()
                        {
                            Field = "amount",
                            Order = "asc"
                        }
                    }
                };
                var testAllCustomers = false;
                var expected         = "2,1,3";

                BEKConfiguration.Add(
                    "WebNowUrl",
                    "http://invoice.benekeith.com/webnow/index.jsp?action=filter&amp;username=anonymous&amp;drawer={branch}AR501&amp;tab={customer}&amp;field4={invoice}");

                // act
                var result = testunit.GetInvoiceHeaders(testUser, testContext, testPaging, testAllCustomers);

                BEKConfiguration.Reset();

                // assert
                var invoiceNumbers = string.Join(",", result.PagedResults
                                                 .Results
                                                 .Select(im => im.InvoiceNumber));

                invoiceNumbers.Should()
                .Be(expected);
            }