예제 #1
0
        public IActionResult Index([FromQuery] SearchProducts dto)
        {
            int    TotalItems     = 0;
            string ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + HttpContext.Request.Headers["UserName"];

            dto.IdCoQuan = int.Parse(HttpContext.Request.Headers["IdCoQuan"]);
            ProductsModel data = new ProductsModel()
            {
                SearchData = dto
            };

            data.ListItems        = ProductsService.GetListPagination(data.SearchData, API.Models.Settings.SecretId + ControllerName);
            data.ListItemsDanhMuc = ProductsCategoriesService.GetListItems();

            if (data.ListItems != null && data.ListItems.Count() > 0)
            {
                TotalItems = data.ListItems[0].TotalRows;
            }
            HttpContext.Session.SetString("STR_Action_Link_" + ControllerName, Request.QueryString.ToString());
            data.Pagination = new Models.Partial.PartialPagination()
            {
                CurrentPage = data.SearchData.CurrentPage, ItemsPerPage = data.SearchData.ItemsPerPage, TotalItems = TotalItems, QueryString = Request.QueryString.ToString()
            };

            return(View(data));
        }
        private static async Task Main(string[] args)
        {
            var sys = ActorSystem.Create("ec");

            var productActor          = sys.ActorOf(Props.Create <ProductActor>().WithRouter(new RoundRobinPool(10)), "product");
            var productActorSelection = sys.ActorSelection("akka://ec/user/product");

            var orderActor = sys.ActorOf(Props.Create <OrderActor>(), "order");

            var paymentActor = sys.ActorOf(Props.Create <PaymentActor>(), "payment");

            var inventoryActory = sys.ActorOf(Props.Create <InventoryActor>(), "inventory");

            Console.WriteLine("Input command:");

            string request;

            while (!(request = Console.ReadLine()).Equals("Quit", StringComparison.InvariantCultureIgnoreCase))
            {
                if (request.Equals("SearchProducts", StringComparison.InvariantCultureIgnoreCase))
                {
                    var msg = new SearchProducts {
                        Keyword = "abc"
                    };
                    //var msg = new SearchProducts("abc");

                    var searchResult = await productActor.Ask <ProductsSearchResult>(msg);

                    //var searchResult = await productActorSelection.Ask<ProductsSearchResult>(msg);

                    Console.WriteLine(JsonConvert.SerializeObject(searchResult.Products, Formatting.Indented));
                    Console.WriteLine();
                }
                else if (request.Equals("Order", StringComparison.InvariantCultureIgnoreCase))
                {
                    Console.WriteLine("Please input products:");

                    var productIDs = Console.ReadLine().Split(',').Select(x => int.Parse(x)).ToList();

                    var orderCreated = await orderActor.Ask <OrderCreated>(new OrderProducts { ProductIDs = productIDs });

                    Console.WriteLine(JsonConvert.SerializeObject(orderCreated.Order, Formatting.Indented));
                    Console.WriteLine();
                }
                else if (request.Equals("Pay", StringComparison.InvariantCultureIgnoreCase))
                {
                    Console.WriteLine("Please input order:");

                    var orderId = int.Parse(Console.ReadLine());

                    var productDelivered = await paymentActor.Ask <ProductDelivered>(new PayForOrder { OrderId = orderId });

                    Console.WriteLine("Receive Products:");
                    Console.WriteLine(JsonConvert.SerializeObject(productDelivered.Products, Formatting.Indented));
                    Console.WriteLine();
                }

                Console.WriteLine("Input command:");
            }
        }
 public IActionResult Search(string term, [FromServices] SearchProducts searchProducts)
 {
     if (term == null)
     {
         return(RedirectToPage("/Admin/Index"));
     }
     return(Ok(searchProducts.Do(term)));
 }
        private void HandleSearchProducts(SearchProducts cmd)
        {
            var products = this.Query(cmd.Keyword);

            this.Sender.Tell(new ProductsSearchResult {
                Products = products
            });
        }
예제 #5
0
        public void SearchBreadTest()
        {
            l1.AddLast(black_bread);
            l1.AddLast(white_bread);
            l1.AddLast(cutted_bread);

            Assert.AreEqual(SearchProducts.Search("bread"), l1);
        }
예제 #6
0
        public async Task <IActionResult> ProductsList(SearchProducts searchProducts)
        {
            ViewBag.Page = searchProducts.PageNumber;
            searchProducts.IsPagedSearch = true;
            Result result = await searchProductsService.HandleAsync(searchProducts);

            ViewBag.PageCount = (double)(Math.Ceiling(((double)result.TotalRecordCount / (double)searchProducts.PageSize)));
            return(View(result.Value));
        }
예제 #7
0
        internal static List <SearchProduct> SearchLiteProducts(string searchString)
        {
            ApplicationDbContext context = new ApplicationDbContext();
            var productSearcher          = new SearchProducts();

            productSearcher.ClearLuceneIndex();
            productSearcher.AddUpdateLuceneIndex(context.Products.Include("Category").ToList());
            return(productSearcher.Search(searchString).ToList());
        }
예제 #8
0
        public async Task <IActionResult> Products(SearchProducts searchProducts)
        {
            Result result;

            searchProducts.IsAdvancedSearch = true;
            ViewBag.CategoryId = searchProducts.CategoryId;
            result             = await searchProductsService.HandleAsync(searchProducts);

            return(View(result.Value));
        }
        private SearchProducts createDefaultModel()
        {
            List <Category> categories = _context.Categories.ToList();
            List <Supplier> suppliers  = _context.Suppliers.ToList();

            SearchProducts model = new SearchProducts();

            model.suppliers  = suppliers.ToList().Select(x => new SelectListItem(x.CompanyName, x.SupplierId.ToString()));
            model.categories = categories.ToList().Select(x => new SelectListItem(x.CategoryName, x.CategoryId.ToString()));

            return(model);
        }
        public IActionResult SearchAct(SearchProducts model)
        {
            int categoryId = Int32.Parse(model.selectedCategoryId);
            int supplierId = Int32.Parse(model.selectedSupplierId);

            SearchProducts searchProducts = createDefaultModel();

            searchProducts.selectedCategoryId = model.selectedCategoryId;
            searchProducts.selectedSupplierId = model.selectedSupplierId;
            searchProducts.products           = _context.Products
                                                .ToList()
                                                .Where(x => x.CategoryId == categoryId && x.SupplierId == supplierId)
                                                .Select(x => x);
            return(View("~/Views/SearchProducts/Index.cshtml", searchProducts));
        }
예제 #11
0
        public DataTable SearchProduct(SearchProducts searchItems)
        {
            ListToDataTable converter = new ListToDataTable();

            DataTable ProductNames  = converter.ToDataTable(searchItems.ProductNames);
            DataTable SearchProduct = new DataTable();

            //string ProductName = string.Join(",", searchItems.ProductNames);
            using (SqlConnection conn = new SqlConnection(_connectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(Common.StoreProcedure.SearchProducts, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ProductNames", ProductNames);
                cmd.Parameters.AddWithValue("@MinValue", searchItems.MinValue);
                cmd.Parameters.AddWithValue("@MaxValue", searchItems.MaxValue);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                sda.Fill(SearchProduct);
            }
            return(SearchProduct);
        }
예제 #12
0
        public IActionResult Index(string alias, int id, [FromQuery] SearchProducts dto)
        {
            int TotalItems = 0;
            int IdCoQuan   = 1;

            if (HttpContext.Session.GetString("IdCoQuan") != null && HttpContext.Session.GetString("IdCoQuan") != "")
            {
                IdCoQuan = int.Parse(HttpContext.Session.GetString("IdCoQuan"));
            }

            string             ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
            ProductsCategories categories     = ProductsCategoriesService.GetItem(id, API.Models.Settings.SecretId + ControllerName);

            dto.CatId         = id;
            dto.IdCoQuan      = IdCoQuan;
            dto.ShowStartDate = "01/01/2000";
            dto.Status        = 1;
            dto.ItemsPerPage  = 16;
            ProductsModel data = new ProductsModel()
            {
                SearchData = dto, Categories = categories
            };

            data.ListItems = ProductsService.GetListPagination(data.SearchData, API.Models.Settings.SecretId + ControllerName);



            //data.ListItemsDanhMuc = ProductsCategoriesService.GetListItems();
            if (data.ListItems != null && data.ListItems.Count() > 0)
            {
                TotalItems = data.ListItems[0].TotalRows;
            }
            data.Pagination = new Areas.Admin.Models.Partial.PartialPagination()
            {
                CurrentPage = data.SearchData.CurrentPage, ItemsPerPage = data.SearchData.ItemsPerPage, TotalItems = TotalItems, QueryString = Request.QueryString.ToString()
            };

            return(View(data));
        }
예제 #13
0
        public IActionResult GetListChildCat(string alias, int id, [FromQuery] SearchProducts dto)
        {
            int IdCoQuan = 1;

            if (HttpContext.Session.GetString("IdCoQuan") != null && HttpContext.Session.GetString("IdCoQuan") != "")
            {
                IdCoQuan = int.Parse(HttpContext.Session.GetString("IdCoQuan"));
            }

            string             ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
            ProductsCategories categories     = ProductsCategoriesService.GetItem(id, API.Models.Settings.SecretId + ControllerName);

            dto.CatId         = id;
            dto.IdCoQuan      = IdCoQuan;
            dto.ShowStartDate = "01/01/2010";
            ProductsModel data = new ProductsModel()
            {
                SearchData = dto, Categories = categories
            };

            return(View(data));
        }
예제 #14
0
        public async Task <IActionResult> Index()
        {
            //    var searchCountrys = new SearchCountrys();
            //    searchCountrys.Name = "G";
            //    Result result = await searchCountrysService.HandleAsync(searchCountrys);
            var    searchSlides = new SearchSlides();
            Result result       = await searchSlidesService.HandleAsync(searchSlides);

            ViewBag.Slides = result.Value;

            var    searchAdvertisements = new SearchAdvertisements();
            Result result1 = await searchAdvertisementsService.HandleAsync(searchAdvertisements);

            ViewBag.Banners = result1.Value;

            var searchProducts = new SearchProducts();

            searchProducts.IsFeatured = true;
            Result result2 = await searchProductsService.HandleAsync(searchProducts);

            ViewBag.Products = result2.Value;
            return(View());
        }
예제 #15
0
        public async Task <IActionResult> Products(SearchProducts searchProducts)
        {
            Result result = await searchProductsService.HandleAsync(searchProducts);

            return(View(result.Value));
        }
예제 #16
0
 public void SearchBlackBreadTest()
 {
     l2.AddLast(black_bread);
     Assert.AreEqual(SearchProducts.Search("black bread"), l2);
 }
예제 #17
0
 public void SearchWhiteBreadTest()
 {
     l2.AddLast(white_bread);
     Assert.AreEqual(SearchProducts.Search("white bread"), l2);
 }
예제 #18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var currentProductID = string.IsNullOrEmpty(Request["productID"]) ? CommonLinkUtility.GetProductID() : new Guid(Request["productID"]);

            CurrentProduct = WebItemManager.Instance[currentProductID] as IProduct;
            if (CurrentProduct != null)
            {
                CurrentProductClassName = CurrentProduct.ProductClassName;
                CurrentProductName      = CurrentProduct.Name;
            }
            else
            {
                GetAddonNameAndClass();
            }

            if (!DisableSearch)
            {
                RenderSearchProducts();
                DisableSearch = DisableSearch || !SearchProducts.Any() || CoreContext.Configuration.Personal;
            }

            if (SecurityContext.IsAuthenticated)
            {
                CurrentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);

                if (CurrentUser.IsOutsider())
                {
                    DisableUserInfo = true;
                }

                UserInfoVisible = !DisableUserInfo.HasValue || !DisableUserInfo.Value;
            }

            if (!SecurityContext.IsAuthenticated || !TenantExtra.EnableTarrifSettings || CoreContext.Configuration.Personal || CurrentUser.IsVisitor() || (!CurrentUser.IsAdmin() && TariffSettings.HidePricingPage))
            {
                DisableTariff = true;
            }

            _customNavItems = WebItemManager.Instance.GetItems(WebZoneType.CustomProductList, ItemAvailableState.Normal);

            if (DisableProductNavigation && SecurityContext.IsAuthenticated)
            {
                _productListHolder.Visible = false;
            }
            else
            {
                var productsList = WebItemManager.Instance.GetItems(WebZoneType.TopNavigationProductList, ItemAvailableState.Normal);
                DisplayModuleList           = productsList.Any() && !CoreContext.Configuration.Personal;
                _productRepeater.DataSource = productsList;

                _productRepeater.DataBind();

                var addons = _customNavItems.Where(pr => ((pr.ID == WebItemManager.CalendarProductID || pr.ID == WebItemManager.TalkProductID || pr.ID == WebItemManager.MailProductID)));
                _addonRepeater.DataSource = addons.ToList();
                _addonRepeater.DataBind();
            }

            foreach (var item in _customNavItems)
            {
                var render = WebItemManager.Instance[item.ID] as IRenderCustomNavigation;
                if (render == null)
                {
                    continue;
                }

                try
                {
                    var control = render.LoadCustomNavigationControl(Page);
                    if (control != null)
                    {
                        _customNavControls.Controls.Add(control);
                    }
                }
                catch (Exception ex)
                {
                    log4net.LogManager.GetLogger("ASC.Web.Studio").Error(ex);
                }
            }

            if (!DisableTariff)
            {
                var tariff = TenantExtra.GetCurrentTariff();
                TariffDays = tariff.DueDate.Date.Subtract(DateTime.Today).Days;

                if (tariff.State == TariffState.Trial && TariffDays >= 0)
                {
                    DisplayTrialCountDays = true;
                }
            }


            Settings = CompanyWhiteLabelSettings.Instance;
        }
예제 #19
0
 public void SearchNoResultsTest()
 {
     Assert.AreEqual(SearchProducts.Search("coca cola"), l1);
 }
예제 #20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!DisableSearch)
            {
                RenderSearchProducts();
                DisableSearch = DisableSearch || !SearchProducts.Any() || CoreContext.Configuration.Personal;
            }

            if (SecurityContext.IsAuthenticated)
            {
                CurrentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);

                if (CurrentUser.IsOutsider())
                {
                    DisableUserInfo = true;
                }

                UserInfoVisible = !DisableUserInfo.HasValue || !DisableUserInfo.Value;
            }

            if (!SecurityContext.IsAuthenticated || !TenantExtra.EnableTarrifSettings || CoreContext.Configuration.Personal || CurrentUser.IsVisitor())
            {
                DisableTariff = true;
            }

            _customNavItems = WebItemManager.Instance.GetItems(WebZoneType.CustomProductList, ItemAvailableState.Normal);

            if (DisableProductNavigation && SecurityContext.IsAuthenticated)
            {
                _productListHolder.Visible = false;
            }
            else
            {
                var productsList = WebItemManager.Instance.GetItems(WebZoneType.TopNavigationProductList, ItemAvailableState.Normal);
                DisplayModuleList           = productsList.Any() && !CoreContext.Configuration.Personal;
                _productRepeater.DataSource = productsList;

                _productRepeater.DataBind();

                var addons = _customNavItems.Where(pr => ((pr.ID == WebItemManager.CalendarProductID || pr.ID == WebItemManager.TalkProductID || pr.ID == WebItemManager.MailProductID)));
                _addonRepeater.DataSource = addons.ToList();
                _addonRepeater.DataBind();
            }

            foreach (var item in _customNavItems)
            {
                var render = WebItemManager.Instance[item.ID] as IRenderCustomNavigation;
                if (render == null)
                {
                    continue;
                }

                try
                {
                    var control = render.LoadCustomNavigationControl(Page);
                    if (control != null)
                    {
                        _customNavControls.Controls.Add(control);
                    }
                }
                catch (Exception ex)
                {
                    log4net.LogManager.GetLogger("ASC.Web.Studio").Error(ex);
                }
            }

            if (CoreContext.Configuration.PartnerHosted)
            {
                IsAuthorizedPartner = false;
                var partner = CoreContext.PaymentManager.GetApprovedPartner();
                if (partner != null)
                {
                    IsAuthorizedPartner = !string.IsNullOrEmpty(partner.AuthorizedKey);
                    Partner             = partner;
                }
            }

            if (!DisableTariff)
            {
                var tariff = TenantExtra.GetCurrentTariff();
                TariffDays = tariff.DueDate.Date.Subtract(DateTime.Today).Days;

                if (tariff.State == TariffState.Trial && TariffDays >= 0)
                {
                    DisplayTrialCountDays = true;
                }
            }

            if (VoipNavigation.VoipEnabled)
            {
                _voipPhonePlaceholder.Controls.Add(LoadControl(VoipPhoneControl.Location));
            }
        }
예제 #21
0
        public HttpResponseMessage SearchProduct([FromBody] SearchProducts searchItems)
        {
            DataTable SearchProduct = _iProductsRepository.SearchProduct(searchItems);

            return(Request.CreateResponse(HttpStatusCode.OK, SearchProduct));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            debugInfoPopUpContainer.Options.IsPopup = true;

            aboutCompanyPopupContainer.Options.IsPopup = true;
            RenderVideoHandlers();

            if (!DisableSearch)
            {
                RenderSearchProducts();
                DisableSearch = DisableSearch || !SearchProducts.Any() || CoreContext.Configuration.Personal;
            }

            UserInfoVisible =
                (!DisableUserInfo.HasValue || !DisableUserInfo.Value) &&
                SecurityContext.IsAuthenticated;

            if (SecurityContext.IsAuthenticated)
            {
                CurrentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
            }

            if (!SecurityContext.IsAuthenticated || !TenantExtra.EnableTarrifSettings || CoreContext.Configuration.Personal || CurrentUser.IsVisitor())
            {
                DisableTariff = true;
            }

            _customNavItems = WebItemManager.Instance.GetItems(WebZoneType.CustomProductList, ItemAvailableState.Normal);

            if (CurrentUser.IsVisitor())
            {
                _customNavItems.RemoveAll(item => item.ID == WebItemManager.MailProductID); // remove mail for guest
            }

            if (DisableProductNavigation && SecurityContext.IsAuthenticated)
            {
                _productListHolder.Visible = false;
            }
            else
            {
                var productsList = WebItemManager.Instance.GetItems(WebZoneType.TopNavigationProductList, ItemAvailableState.Normal);
                DisplayModuleList           = productsList.Any() && !CoreContext.Configuration.Personal;
                _productRepeater.DataSource = productsList;

                _productRepeater.DataBind();

                var addons = _customNavItems.Where(pr => ((pr.ID == WebItemManager.CalendarProductID || pr.ID == WebItemManager.TalkProductID || pr.ID == WebItemManager.MailProductID)));
                _addonRepeater.DataSource = addons.ToList();
                _addonRepeater.DataBind();
            }

            foreach (var item in _customNavItems)
            {
                var render = WebItemManager.Instance[item.ID] as IRenderCustomNavigation;
                if (render == null)
                {
                    continue;
                }

                try
                {
                    var control = render.LoadCustomNavigationControl(Page);
                    if (control != null)
                    {
                        _customNavControls.Controls.Add(control);
                    }
                }
                catch (Exception ex)
                {
                    log4net.LogManager.GetLogger("ASC.Web.Studio").Error(ex);
                }
            }
            if (CoreContext.Configuration.PartnerHosted)
            {
                IsAutorizePartner = false;
                var partner = CoreContext.PaymentManager.GetApprovedPartner();
                if (partner != null)
                {
                    IsAutorizePartner = !string.IsNullOrEmpty(partner.AuthorizedKey);
                    Partner           = partner;
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            var currentProductId = string.IsNullOrEmpty(Request["productID"]) ? CommonLinkUtility.GetProductID() : new Guid(Request["productID"]);

            CurrentProduct = WebItemManager.Instance[currentProductId] as IProduct;

            if (CurrentProduct != null)
            {
                CurrentProductClassName = CurrentProduct.ProductClassName;
                CurrentProductName      = CurrentProduct.Name;
            }
            else
            {
                GetAddonNameAndClass();
            }

            if (!DisableSearch)
            {
                RenderSearchProducts();
                DisableSearch = DisableSearch || !SearchProducts.Any() || CoreContext.Configuration.Personal;
            }

            if (SecurityContext.IsAuthenticated)
            {
                CurrentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);

                if (CurrentUser.IsOutsider())
                {
                    DisableUserInfo = true;
                }

                UserInfoVisible = !DisableUserInfo.HasValue || !DisableUserInfo.Value;
            }

            if (!SecurityContext.IsAuthenticated ||
                !TenantExtra.EnableTariffSettings ||
                CoreContext.Configuration.Personal ||
                CurrentUser.IsVisitor() ||
                (!CurrentUser.IsAdmin() && (TariffSettings.HidePricingPage || CoreContext.Configuration.Standalone)))
            {
                DisableTariff = true;
            }

            _customNavItems = WebItemManager.Instance.GetItems(WebZoneType.CustomProductList, ItemAvailableState.Normal);

            if (DisableProductNavigation && SecurityContext.IsAuthenticated)
            {
                _productListHolder.Visible = false;
            }
            else
            {
                var productsList = WebItemManager.Instance.GetItems(WebZoneType.TopNavigationProductList, ItemAvailableState.Normal);

                DisplayModuleList = productsList.Any() && !CoreContext.Configuration.Personal;

                Modules       = new List <IWebItem>();
                CustomModules = new List <IWebItem>();

                foreach (var webItem in productsList)
                {
                    if (webItem.ID != WebItemManager.DocumentsProductID &&
                        webItem.ID != WebItemManager.ProjectsProductID &&
                        webItem.ID != WebItemManager.CRMProductID &&
                        webItem.ID != WebItemManager.PeopleProductID &&
                        webItem.ID != WebItemManager.CommunityProductID)
                    {
                        CustomModules.Add(webItem);
                    }
                }

                var currentItem = productsList.Find(r => r.ID == WebItemManager.DocumentsProductID);
                if (currentItem != null)
                {
                    Modules.Add(currentItem);
                    productsList.Remove(currentItem);
                }
                currentItem = productsList.Find(r => r.ID == WebItemManager.ProjectsProductID);
                if (currentItem != null)
                {
                    Modules.Add(currentItem);
                    productsList.Remove(currentItem);
                }
                currentItem = productsList.Find(r => r.ID == WebItemManager.CRMProductID);
                if (currentItem != null)
                {
                    Modules.Add(currentItem);
                    productsList.Remove(currentItem);
                }
                if (CurrentUser != null && !CurrentUser.IsOutsider())
                {
                    currentItem = _customNavItems.Find(r => r.ID == WebItemManager.MailProductID);
                    if (currentItem != null)
                    {
                        Modules.Add(currentItem);
                    }
                }
                currentItem = productsList.Find(r => r.ID == WebItemManager.PeopleProductID);
                if (currentItem != null)
                {
                    Modules.Add(currentItem);
                    productsList.Remove(currentItem);
                }
                currentItem = productsList.Find(r => r.ID == WebItemManager.CommunityProductID);
                if (currentItem != null)
                {
                    Modules.Add(currentItem);
                    productsList.Remove(currentItem);
                }

                var isEnabledTalk = ConfigurationManagerExtension.AppSettings["web.talk"] ?? "false";
                Addons = _customNavItems
                         .Where(item =>
                                (item.ID == WebItemManager.CalendarProductID ||
                                 (item.ID == WebItemManager.TalkProductID && isEnabledTalk == "true")))
                         .OrderBy(item => item.Context.DefaultSortOrder);

                CustomNavigationItems = CustomNavigationSettings.Load().Items.Where(x => x.ShowInMenu);
            }

            foreach (var item in _customNavItems)
            {
                var render = WebItemManager.Instance[item.ID] as IRenderCustomNavigation;
                if (render == null)
                {
                    continue;
                }

                try
                {
                    var control = render.LoadCustomNavigationControl(Page);
                    if (control != null)
                    {
                        _customNavControls.Controls.Add(control);
                    }
                }
                catch (Exception ex)
                {
                    LogManager.GetLogger("ASC.Web.Studio").Error(ex);
                }
            }

            if (!DisableTariff)
            {
                var tariff = TenantExtra.GetCurrentTariff();
                TariffDays = tariff.DueDate.Date.Subtract(DateTime.Today).Days;

                if (tariff.State == TariffState.Trial && TariffDays >= 0)
                {
                    DisplayTrialCountDays = true;
                }
            }

            Settings = CompanyWhiteLabelSettings.Instance;

            ShowAppsNavItem = SetupInfo.IsVisibleSettings("AppsNavItem");

            ShowDesktopNavItem = !CoreContext.Configuration.CustomMode;

            if (!DisableGift)
            {
                DisableGift = !SecurityContext.IsAuthenticated ||
                              CoreContext.Configuration.Personal ||
                              !TenantExtra.Opensource ||
                              string.IsNullOrEmpty(SetupInfo.ControlPanelUrl) ||
                              OpensourceGiftSettings.LoadForCurrentUser().Readed;
            }

            Startup = !CoreContext.Configuration.CustomMode && TenantExtra.Saas && TenantExtra.GetTenantQuota().Free;
        }
예제 #24
0
 public void SearchWhiteBreadTest()
 {
     l1.AddLast(white_bread);
     Assert.AreEqual(FilterProducts.Filter("white bread", SearchProducts.Search("bread"), "byName"), l1);
 }
예제 #25
0
 public void SearchBlackBreadTest()
 {
     l1.AddLast(black_bread);
     Assert.AreEqual(FilterProducts.Filter("black bread", SearchProducts.Search("bread"), "byName"), l1);
 }
예제 #26
0
 public void SearchNoResultsTest()
 {
     Assert.AreEqual(FilterProducts.Filter("chocko", SearchProducts.Search("bread"), "byName"), l1);
 }
예제 #27
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (DebugInfo.ShowDebugInfo)
            {
                debugInfoPopUpContainer.Options.IsPopup = true;
            }

            if (Page is Auth || Page is _Default)
            {
                CurrentProductID = Guid.Empty;
            }
            else
            {
                CurrentProductID =
                    !String.IsNullOrEmpty(Request["productID"])
                        ? new Guid(Request["productID"])
                        : CommonLinkUtility.GetProductID();

                if (!String.IsNullOrEmpty(Request["moduleID"]))
                {
                    CurrentModuleID = new Guid(Request["moduleID"]);
                }
            }

            CurrentProduct = (IProduct)WebItemManager.Instance[CurrentProductID];

            if (SecurityContext.CurrentAccount.IsAuthenticated && !TenantStatisticsProvider.IsNotPaid())
            {
                Page.RegisterBodyScripts(ResolveUrl("~/UserControls/Common/TopStudioPanel/js/FeedReaderScripts.js"));
            }

            RenderVideoHandlers();

            if (!DisableSearch)
            {
                RenderSearchProducts();
                DisableSearch = DisableSearch || !SearchProducts.Any() || CoreContext.Configuration.YourDocs;
            }

            _guestInfoHolder.Visible = false;
            _userInfoHolder.Visible  =
                (!DisableUserInfo.HasValue || !DisableUserInfo.Value) &&
                SecurityContext.IsAuthenticated &&
                !(Page is Wizard);

            ShowTopPanelNavigation = SecurityContext.IsAuthenticated && !(Page is Wizard);

            if (SecurityContext.IsAuthenticated)
            {
                CurrentUser = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
            }

            TariffNotify = TenantExtra.GetTariffNotify();
            if (!SecurityContext.IsAuthenticated || !TenantExtra.EnableTarrifSettings || CoreContext.Configuration.YourDocs || CurrentUser.IsVisitor())
            {
                DisableTariffNotify = true;
                DisableTariff       = true;
            }
            else if (string.IsNullOrEmpty(TariffNotify))
            {
                DisableTariffNotify = true;
            }
            _customNavItems = WebItemManager.Instance.GetItems(WebZoneType.CustomProductList, ItemAvailableState.Normal);

            if (CurrentUser.IsVisitor())
            {
                _customNavItems.RemoveAll(item => item.ID == WebItemManager.MailProductID); // remove mail for guest
            }

            if (DisableProductNavigation)
            {
                _productListHolder.Visible = false;
            }
            else
            {
                var productsList = WebItemManager.Instance.GetItems(WebZoneType.TopNavigationProductList, ItemAvailableState.Normal); //.Where(pr => !CurrentProductID.Equals(pr.ID));
                DisplayModuleList           = productsList.Any() && !CoreContext.Configuration.YourDocs;
                _productRepeater.DataSource = productsList;

                _productRepeater.DataBind();

                var addons = _customNavItems.Where(pr => ((pr.ID == WebItemManager.CalendarProductID || pr.ID == WebItemManager.TalkProductID || pr.ID == WebItemManager.MailProductID)));
                //if (GetCurrentWebItem != null)
                //    _addons = _addons.Where(pr => pr.ID != GetCurrentWebItem.ID);
                _addonRepeater.DataSource = addons.ToList();
                _addonRepeater.DataBind();

                MoreProductsRepeater.DataBind();
            }

            foreach (var item in _customNavItems)
            {
                var render = WebItemManager.Instance[item.ID] as IRenderCustomNavigation;
                if (render == null)
                {
                    continue;
                }

                try
                {
                    var control = render.LoadCustomNavigationControl(Page);
                    if (control != null)
                    {
                        _customNavControls.Controls.Add(control);
                    }
                }
                catch (Exception ex)
                {
                    log4net.LogManager.GetLogger("ASC.Web.Studio").Error(ex);
                }
            }
        }
        public IActionResult Index()
        {
            SearchProducts searchProducts = createDefaultModel();

            return(View(searchProducts));
        }