Example #1
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);
        }
Example #2
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);
        }
Example #3
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);
        }
Example #4
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);
        }
Example #5
0
            public void NoFavoritesOrNotes_ReturnsExpectedItemFavoriteAsFalse()
            {
                // arrange
                var prods = new List <Product>
                {
                    new Product {
                        ItemNumber = "111111"
                    },
                    new Product {
                        ItemNumber = "999999"
                    }
                };
                var expectedItemNumber = "111111";
                var testcontext        = new UserSelectedContext
                {
                    BranchId   = "XXX",
                    CustomerId = "123456"
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), testcontext, prods,
                                                                      TestListSvcNoFavoritesOrNotes);

                // assert
                prods.Where(p => p.ItemNumber == expectedItemNumber)
                .First()
                .Favorite
                .Should()
                .BeFalse();
            }
Example #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);
        }
Example #7
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);
        }
Example #8
0
            public void GoodFavoriteProduct_ReturnsFavoriteAsTrue()
            {
                // arrange
                var prod = new Product {
                    ItemNumber = "111111"
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), new UserSelectedContext(),
                                                                      prod, TestListSvc);

                // assert
                prod.Favorite
                .Should()
                .BeTrue();
            }
Example #9
0
            public void BadNotesProduct_ReturnsNullNotes()
            {
                // arrange
                var prod = new Product {
                    ItemNumber = "111111"
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), new UserSelectedContext(),
                                                                      prod, TestListSvc);

                // assert
                prod.Notes
                .Should()
                .Be("test note");
            }
Example #10
0
            public void BadInHistoryProduct_ReturnsInHistoryAsFalse()
            {
                // arrange
                var prod = new Product {
                    ItemNumber = "999999"
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), new UserSelectedContext(),
                                                                      prod, TestListSvc);

                // assert
                prod.InHistory
                .Should()
                .BeFalse();
            }
Example #11
0
            public void NoFavoritesOrNotes_ReturnsNullNotes()
            {
                // arrange
                var prod = new Product {
                    ItemNumber = "111111"
                };
                var testcontext = new UserSelectedContext
                {
                    BranchId   = "XXX",
                    CustomerId = "123456"
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), testcontext, prod,
                                                                      TestListSvcNoFavoritesOrNotes);

                // assert
                prod.Notes
                .Should()
                .BeNullOrEmpty();
            }
Example #12
0
        public Models.OperationReturnModel <Order> Orders(string orderNumber)
        {
            Models.OperationReturnModel <Order> retVal = new Models.OperationReturnModel <Order>();
            try
            {
                Order order = _orderLogic.UpdateOrderForEta(AuthenticatedUser, _orderLogic.GetOrder(SelectedUserContext.BranchId, orderNumber.Trim()));

                ApprovedCartModel orderApproved = _shoppingCartService.ValidateCart(this.AuthenticatedUser, this.SelectedUserContext, Guid.Empty, order.OrderNumber);

                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(AuthenticatedUser, SelectedUserContext, order.Items, _listService);
                retVal.SuccessResponse          = order;
                retVal.SuccessResponse.Approval = orderApproved;
                retVal.IsSuccess = true;
            }
            catch (Exception ex)
            {
                _log.WriteErrorLog("OrdersIndate", ex);
                retVal.ErrorMessage = ex.Message;
                retVal.IsSuccess    = false;
            }

            return(retVal);
        }
Example #13
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);
        }
Example #14
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);
        }
Example #15
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);
        }
Example #16
0
            public void GoodNotesProductInList_ReturnsProductInListWithNotesAsExpected()
            {
                // arrange
                var prods = new List <Product>
                {
                    new Product {
                        ItemNumber = "111111"
                    },
                    new Product {
                        ItemNumber = "999999"
                    }
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), new UserSelectedContext(),
                                                                      prods, TestListSvc);

                // assert
                prods.Where(p => p.ItemNumber == "111111")
                .First()
                .Notes
                .Should()
                .Be("test note");
            }
Example #17
0
            public void BadInHistoryProductInList_ReturnsProductInListWithInHistoryAsFalse()
            {
                // arrange
                var prods = new List <Product>
                {
                    new Product {
                        ItemNumber = "111111"
                    },
                    new Product {
                        ItemNumber = "999999"
                    }
                };

                // act
                FavoritesAndNotesHelper.GetFavoritesAndNotesFromLists(new UserProfile(), new UserSelectedContext(),
                                                                      prods, TestListSvc);

                // assert
                prods.Where(p => p.ItemNumber == "999999")
                .First()
                .InHistory
                .Should()
                .BeFalse();
            }