Beispiel #1
0
        public HttpResponseMessage GetProductsByHouseBrandExport(string brandControlLabel, [FromUri] SearchInputModel searchModel, ExportRequestModel exportRequest)
        {
            HttpResponseMessage ret;

            try
            {
                searchModel.Size = 500;

                ProductsReturn prods = _catalogService.GetHouseProductsByBranch(this.SelectedUserContext, brandControlLabel, searchModel, this.AuthenticatedUser);

                prods.Products = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prods.Products, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prods.Products, _listService);

                if (exportRequest.Fields != null)
                {
                    _exportSettingRepository.SaveUserExportSettings(this.AuthenticatedUser.UserId, ExportType.Products, ListType.Custom,
                                                                    exportRequest.Fields, exportRequest.SelectedType);
                }

                ret = ExportModel <Product>(prods.Products, exportRequest, SelectedUserContext);
            }
            catch (Exception ex)
            {
                _elRepo.WriteErrorLog("GetProductsByHouseBrandExport", ex);
                ret = Request.CreateResponse(HttpStatusCode.InternalServerError);
            }
            return(ret);
        }
Beispiel #2
0
        public HttpResponseMessage ExportCartDetail(Guid cartId, ExportRequestModel exportRequest)
        {
            HttpResponseMessage ret;

            try
            {
                var cart = _shoppingCartLogic.ReadCart(this.AuthenticatedUser, this.SelectedUserContext, cartId);
                ContractInformationHelper.GetContractCategoriesFromLists(this.SelectedUserContext, cart.Items, _listService);
                ItemOrderHistoryHelper.GetItemOrderHistories(_catalogLogic, SelectedUserContext, cart.Items);
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(AuthenticatedUser, SelectedUserContext, cart.Items, _listService);

                if (exportRequest.Fields != null)
                {
                    _exportLogic.SaveUserExportSettings(AuthenticatedUser.UserId, Core.Models.Configuration.EF.ExportType.CartDetail, Core.Enumerations.List.ListType.Custom,
                                                        exportRequest.Fields, exportRequest.SelectedType);
                }

                ret = ExportModel <ShoppingCartItem>(cart.Items, exportRequest, SelectedUserContext);
            }
            catch (Exception ex)
            {
                ret = Request.CreateResponse(HttpStatusCode.InternalServerError);
                ret.ReasonPhrase = ex.Message;
                _log.WriteErrorLog("ExportCartDetail", ex);
            }
            return(ret);
        }
Beispiel #3
0
        public OperationReturnModel <ProductsReturn> GetProductsSearch(string catalogType, string searchTerms, [FromUri] SearchInputModel searchModel)
        {
            OperationReturnModel <ProductsReturn> ret = new OperationReturnModel <ProductsReturn>();

            try
            {
                if (catalogType.Equals(Constants.CATALOG_UNFI) && this.SelectedUserContext.BranchId.Equals(Constants.BRANCH_FEL))
                {
                    catalogType = Constants.CATALOG_UNFIEAST;
                }
                searchModel.CatalogType = catalogType;
                ProductsReturn prods = _catalogService.GetProductsBySearch(this.SelectedUserContext, searchTerms, searchModel, this.AuthenticatedUser);

                prods.Products = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prods.Products, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prods.Products, _listService);

                ret.SuccessResponse = prods;
                ret.IsSuccess       = true;
            }
            catch (Exception ex)
            {
                ret.IsSuccess    = false;
                ret.ErrorMessage = ex.Message;
                _elRepo.WriteErrorLog("GetProductsSearch", ex);
            }
            return(ret);
        }
Beispiel #4
0
        public OperationReturnModel <Product> GetProductById(string catalogType, string id)
        {
            OperationReturnModel <Product> ret = new OperationReturnModel <Product>();

            try
            {
                IEnumerable <KeyValuePair <string, string> > pairs = Request.GetQueryNameValuePairs();
                if (catalogType.Equals(Constants.CATALOG_UNFI) && this.SelectedUserContext.BranchId.Equals(Constants.BRANCH_FEL))
                {
                    catalogType = Constants.CATALOG_UNFIEAST;
                }

                Product prod = _catalogLogic.GetProductById(this.SelectedUserContext, id, this.AuthenticatedUser, catalogType);

                prod = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prod, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prod, _listService);

                if (prod == null)
                {
                    prod = new Product();
                }

                ret.SuccessResponse = prod;
                ret.IsSuccess       = true;
            }
            catch (Exception ex)
            {
                ret.IsSuccess    = false;
                ret.ErrorMessage = ex.Message;
                _elRepo.WriteErrorLog("GetProductById", ex);
            }
            return(ret);
        }
Beispiel #5
0
        public OperationReturnModel <ProductsReturn> GetProductsSearchBrand(string catalogType, string brandName, [FromUri] SearchInputModel searchModel, [FromUri] string searchTerms = null)
        {
            OperationReturnModel <ProductsReturn> ret = new OperationReturnModel <ProductsReturn>();

            try
            {
                searchModel.CatalogType = catalogType;
                searchModel.Facets      = string.Format("brands:{0}", brandName.ToUpper());
                ProductsReturn prods = _catalogService.GetProductsBySearch(this.SelectedUserContext, searchTerms, searchModel, this.AuthenticatedUser);

                prods.Products = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prods.Products, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prods.Products, _listService);

                ret.SuccessResponse = prods;
                ret.IsSuccess       = true;
            }
            catch (Exception ex)
            {
                ret.IsSuccess    = false;
                ret.ErrorMessage = ex.Message;
                _elRepo.WriteErrorLog("GetProductsSearch", ex);
            }
            return(ret);
        }
Beispiel #6
0
        public HttpResponseMessage ExportOrderDetail(string orderNumber, ExportRequestModel exportRequest)
        {
            HttpResponseMessage ret;

            try
            {
                var order = _orderLogic.UpdateOrderForEta(AuthenticatedUser, _orderLogic.GetOrder(SelectedUserContext.BranchId, orderNumber.Trim()));
                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, order.Items, _listService);
                ItemOrderHistoryHelper.GetItemOrderHistories(_catalogLogic, SelectedUserContext, order.Items);
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(AuthenticatedUser, SelectedUserContext, order.Items, _listService);

                if (exportRequest.Fields != null)
                {
                    _exportLogic.SaveUserExportSettings(AuthenticatedUser.UserId, Core.Models.Configuration.EF.ExportType.OrderDetail, Core.Enumerations.List.ListType.Custom,
                                                        exportRequest.Fields, exportRequest.SelectedType);
                }

                ret = ExportModel <OrderLine>(order.Items, exportRequest, SelectedUserContext, order);
            }
            catch (Exception ex)
            {
                _log.WriteErrorLog("ExportOrderDetail", ex);
                ret = Request.CreateResponse(HttpStatusCode.InternalServerError);
            }
            return(ret);
        }
Beispiel #7
0
            public void AnyProductCustomerHasNoContract_Completes()
            {
                // arrange
                List <ItemUsageReportItemModel> prods = TestItemUsageReportItemModels;

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prods,
                                                                         TestListSvcNoContract());

                // assert
                prods.Should()
                .NotBeNullOrEmpty();
            }
Beispiel #8
0
            public void BadProduct_ExpectNullDetail()
            {
                // arrange
                Product prod = TestOtherProd;

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prod,
                                                                         TestListSvc());

                // assert
                prod.Detail
                .Should()
                .BeNullOrEmpty();
            }
Beispiel #9
0
            public void AnyProductCustomerHasNoContract_Completes()
            {
                // arrange
                Product prod = TestOtherProd;

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prod,
                                                                         TestListSvcNoContract());

                // assert
                prod.Category
                .Should()
                .BeNullOrEmpty();
            }
Beispiel #10
0
            public void GoodProduct_ExpectDetail()
            {
                // arrange
                Product prod     = TestProd;
                var     expected = "Fake Name / 111111 / Fake Brand / Category 1 / Fake Pack / Fake Size";

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prod,
                                                                         TestListSvc());

                // assert
                prod.Detail
                .Should()
                .Be(expected);
            }
Beispiel #11
0
            public void GoodProduct_ExpectCategory()
            {
                // arrange
                Product prod     = TestProd;
                var     expected = "Category 1";

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prod,
                                                                         TestListSvc());

                // assert
                prod.Category
                .Should()
                .Be(expected);
            }
Beispiel #12
0
            public void BadProductFromList_ExpectNullDetail()
            {
                // arrange
                List <ItemUsageReportItemModel> prods = TestItemUsageReportItemModels;

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prods,
                                                                         TestListSvc());

                // assert
                prods.Where(p => p.ItemNumber == "999999")
                .First()
                .Detail
                .Should()
                .BeNullOrEmpty();
            }
Beispiel #13
0
            public void BadProductFromList_ExpectNullCategory()
            {
                // arrange
                List <Product> prods = TestProducts;

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prods,
                                                                         TestListSvc());

                // assert
                prods.Where(p => p.ItemNumber == "999999")
                .First()
                .Category
                .Should()
                .BeNullOrEmpty();
            }
Beispiel #14
0
            public void GoodProductFromList_ExpectDetail()
            {
                // arrange
                List <ItemUsageReportItemModel> prods = TestItemUsageReportItemModels;
                var expected = "Fake Name / 111111 / Fake Brand / Category 1 / Fake Pack / Fake Size";

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prods,
                                                                         TestListSvc());

                // assert
                prods.Where(p => p.ItemNumber == "111111")
                .First()
                .Detail
                .Should()
                .Be(expected);
            }
Beispiel #15
0
            public void GoodProductFromList_ExpectCategory()
            {
                // arrange
                List <Product> prods    = TestProducts;
                var            expected = "Category 1";

                // act
                ContractInformationHelper.GetContractCategoriesFromLists(new UserSelectedContext(), prods,
                                                                         TestListSvc());

                // assert
                prods.Where(p => p.ItemNumber == "111111")
                .First()
                .Category
                .Should()
                .Be(expected);
            }
Beispiel #16
0
        public HttpResponseMessage ExportItemUsage([FromUri] ItemUsageReportQueryModel usageQuery, ExportRequestModel exportRequest)
        {
            HttpResponseMessage retVal;

            try
            {
                if (usageQuery != null && usageQuery.fromDate.HasValue && usageQuery.toDate.HasValue)
                {
                    usageQuery.UserSelectedContext = this.SelectedUserContext;
                    var ret = _reportLogic.GetItemUsage(usageQuery);
                    ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, ret, _listService);
                    ItemOrderHistoryHelper.GetItemOrderHistories(_catalogLogic, SelectedUserContext, ret);

                    if (exportRequest.Fields != null)
                    {
                        _exportLogic.SaveUserExportSettings(this.AuthenticatedUser.UserId, Core.Models.Configuration.EF.ExportType.ItemUsage, Core.Enumerations.List.ListType.Custom, exportRequest.Fields, exportRequest.SelectedType);
                    }

                    retVal = ExportModel <ItemUsageReportItemModel>(ret.ToList(), exportRequest, SelectedUserContext);
                }
                else
                {
                    retVal = new HttpResponseMessage()
                    {
                        StatusCode = HttpStatusCode.NoContent
                    }
                };
            }
            catch (Exception ex)
            {
                _log.WriteErrorLog("ExportItemUsage", ex);
                retVal = new HttpResponseMessage()
                {
                    StatusCode = HttpStatusCode.InternalServerError
                };
            }
            return(retVal);
        }
Beispiel #17
0
        public OperationReturnModel <Product> GetProductByIdorUPC(string idorupc)
        {
            OperationReturnModel <Product> ret = new OperationReturnModel <Product>();

            try
            {
                Product prod = _catalogLogic.GetProductByIdOrUPC(this.SelectedUserContext, idorupc, this.AuthenticatedUser);

                prod = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prod, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prod, _listService);

                ret.SuccessResponse = prod;
                ret.IsSuccess       = true;
            }
            catch (Exception ex)
            {
                ret.IsSuccess    = false;
                ret.ErrorMessage = ex.Message;
                _elRepo.WriteErrorLog("GetProductByIdOrUPC", ex);
            }
            return(ret);
        }
Beispiel #18
0
        public OperationReturnModel <ProductsReturn> GetCampaignProducts(string campaignUri, [FromUri] SearchInputModel searchModel)
        {
            OperationReturnModel <ProductsReturn> returnValue = new OperationReturnModel <ProductsReturn>();

            try
            {
                ProductsReturn prods = _campaignService.GetCatalogCampaignProducts(campaignUri, this.SelectedUserContext, searchModel, this.AuthenticatedUser);

                prods.Products = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prods.Products, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prods.Products, _listService);

                returnValue.SuccessResponse = prods;
                returnValue.IsSuccess       = true;
            } catch (Exception ex)
            {
                returnValue.IsSuccess    = false;
                returnValue.ErrorMessage = ex.Message;
                _elRepo.WriteErrorLog("GetCampaignProducts", ex);
            }

            return(returnValue);
        }
Beispiel #19
0
        public OperationReturnModel <ProductsReturn> GetProductsByHouseBrand(string brandControlLabel, [FromUri] SearchInputModel searchModel)
        {
            OperationReturnModel <ProductsReturn> ret = new OperationReturnModel <ProductsReturn>();

            try
            {
                ProductsReturn prods = _catalogService.GetHouseProductsByBranch(this.SelectedUserContext, brandControlLabel, searchModel, this.AuthenticatedUser);

                prods.Products = FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(this.AuthenticatedUser, this.SelectedUserContext, prods.Products, _listService);

                ContractInformationHelper.GetContractCategoriesFromLists(SelectedUserContext, prods.Products, _listService);

                ret.SuccessResponse = prods;
                ret.IsSuccess       = true;
            }
            catch (Exception ex)
            {
                ret.IsSuccess    = false;
                ret.ErrorMessage = ex.Message;
                _elRepo.WriteErrorLog("GetHouseProductsByBranch", ex);
            }
            return(ret);
        }