Beispiel #1
0
        public static List <GetCategoriesResult> GetCategories(Guid?ParentID)
        {
            string ConnectionString = ConfigurationManager.ConnectionStrings["DataEntryConnectionString"].ConnectionString;
            DataEntryDataContext db = new DataEntryDataContext(ConnectionString);

            db.CommandTimeout = 99999;
            return(db.GetCategories(ParentID).ToList());
        }
        public ActionResult Product(string ItemNumber)
        {
            ProductModel Model = new ProductModel();

            Model.ItemNumber = ItemNumber?.Trim();

            if (Session["SearchResults"] != null)
            {
                var SearchResults = (List <GetProductsResult>)Session["SearchResults"];
                Model.SearchResultIndex = SearchResults.FindIndex(s => s.ERPNumber == Model.ItemNumber);
                Model.SearchResultCount = SearchResults.Count();

                if (Model.SearchResultIndex > 0)
                {
                    Model.PreviousItemNumber = SearchResults[Model.SearchResultIndex - 1].ERPNumber;
                }

                if (Model.SearchResultIndex < Model.SearchResultCount - 1)
                {
                    Model.NextItemNumber = SearchResults[Model.SearchResultIndex + 1].ERPNumber;
                }
            }

            //Model.ProductInfo = _db.GetProduct(Model.ItemNumber).FirstOrDefault();

            //if (Model.ProductInfo != null)
            //{
            //    //Model.ProductAttributes = _db.GetProductAttributes(Model.ItemNumber).ToList();
            //    //Model.Categories = _db.GetCategories(null).ToList();
            //    //Model.InfoTemplates = _db.GetInfoTemplates().ToList();
            //    //Model.AllVariants = _db.GetAllVariants().ToList();
            //    //Model.Attributes = _db.GetProductAndCategoryAttributesAndValues(ItemNumber, Model.ProductInfo.InfoTemplateID).ToList();
            //    //Model.AttributeSettings = _db.GetAttributeTypeSettings().ToList();

            //    Parallel.Invoke(/*() =>
            //    {
            //        var db = new DataEntryDataContext();
            //        Model.ProductAttributes = db.GetProductAttributes(Model.ItemNumber).ToList();
            //    },*/

            //    () =>
            //    {
            //        var db = new DataEntryDataContext();
            //        Model.Categories = db.GetCategories(null).ToList();
            //    },

            //    () =>
            //    {
            //        var db = new DataEntryDataContext();
            //        Model.InfoTemplates = db.GetInfoTemplates().ToList();
            //    },

            //    () =>
            //    {
            //        var db = new DataEntryDataContext();
            //        Model.AllVariants = db.GetAllVariants().ToList();
            //    }/*,

            //    () =>
            //    {
            //        var db = new DataEntryDataContext();
            //        Model.Attributes = db.GetProductAndCategoryAttributesAndValues(ItemNumber, Model.ProductInfo.InfoTemplateID).ToList();
            //    },

            //    () =>
            //    {
            //        var db = new DataEntryDataContext();
            //        Model.AttributeSettings = db.GetAttributeTypeSettings().ToList();
            //    }*/);
            //}

            Parallel.Invoke(() =>
            {
                var db            = new DataEntryDataContext();
                Model.ProductInfo = db.GetProduct(Model.ItemNumber).FirstOrDefault();
            },

                            () =>
            {
                var db           = new DataEntryDataContext();
                Model.Categories = db.GetCategories(null).ToList();
            },

                            () =>
            {
                var db = new DataEntryDataContext();
                Model.InfoTemplates = db.GetInfoTemplates().ToList();
            },

                            () =>
            {
                var db            = new DataEntryDataContext();
                Model.AllVariants = db.GetAllVariants().ToList();
            },

                            () =>
            {
                var db             = new DataEntryDataContext();
                Model.AllChemicals = db.GetAllChemicals().ToList();
            });

            Model.ProductChemicals = _db.GetProductChemicals(Model.ProductInfo.Id).ToList();

            return(View(Model));
        }