示例#1
0
 public static DataStatus Add(DataSource ds, ProductBrandMapping brandmapping)
 {
     if (Db <ProductBrandMapping> .Query(ds)
         .Select().Where(W("BrandId", brandmapping.BrandId) & W("CategoryId", brandmapping.CategoryId))
         .Count() > 0)
     {
         return(DataStatus.Success);
     }
     else
     {
         return(brandmapping.Insert(ds));
     }
 }
示例#2
0
        public static IList <ProductBrand> GetAllByCategoryAndScreen(DataSource ds, int categoryId)
        {
            string[]             key    = GetCacheName(categoryId);
            IList <ProductBrand> result = null; //CacheProvider.Current.Get<IList<ProductBrand>>(key);

            if (result == null)
            {
                //result = ExecuteReader<ProductBrand>(ds, Os(Oa("SortNum"), Oa("Id")), P("Approved", true) & P("CategoryId", categoryId));
                result = ProductBrandMapping.GetBrandListByCategoryIdAndScreen(ds, categoryId);
                //CacheProvider.Current.Set(key, result);
            }
            return(result);
        }
示例#3
0
        public static SplitPageData <dynamic> GetPageEx(DataSource ds, int categoryId, string sort, string order, int index, int size, int show = 8)
        {
            long            count;
            IList <dynamic> list;

            if (categoryId > 0)
            {
                if ("desc".Equals(order, StringComparison.OrdinalIgnoreCase))
                {
                    if ("approved".Equals(sort, StringComparison.OrdinalIgnoreCase))
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select(S <ProductBrand>())
                               .InnerJoin(O <ProductBrand>("Id"), O <ProductBrandMapping>("BrandId"))
                               .Where(W <ProductBrandMapping>("CategoryId", categoryId))
                               .OrderBy(D <ProductBrand>("Approved"), A <ProductBrand>("SortNum"), A <ProductBrand>("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Od("Approved"), Oa("SortNum"), Oa("Id")), index, size, out count, P("CategoryId", categoryId));
                    else
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select(S <ProductBrand>())
                               .InnerJoin(O <ProductBrand>("Id"), O <ProductBrandMapping>("BrandId"))
                               .Where(W <ProductBrandMapping>("CategoryId", categoryId))
                               .OrderBy(D <ProductBrand>("SortNum"), A <ProductBrand>("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Od("SortNum"), Oa("Id")), index, size, out count, P("CategoryId", categoryId));
                }
                else
                {
                    if ("approved".Equals(sort, StringComparison.OrdinalIgnoreCase))
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select(S <ProductBrand>())
                               .InnerJoin(O <ProductBrand>("Id"), O <ProductBrandMapping>("BrandId"))
                               .Where(W <ProductBrandMapping>("CategoryId", categoryId))
                               .OrderBy(A <ProductBrand>("Approved"), A <ProductBrand>("SortNum"), A <ProductBrand>("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Oa("Approved"), Oa("SortNum"), Oa("Id")), index, size, out count, P("CategoryId", categoryId));
                    else
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select(S <ProductBrand>())
                               .InnerJoin(O <ProductBrand>("Id"), O <ProductBrandMapping>("BrandId"))
                               .Where(W <ProductBrandMapping>("CategoryId", categoryId))
                               .OrderBy(A <ProductBrand>("SortNum"), A <ProductBrand>("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Oa("SortNum"), Oa("Id")), index, size, out count, P("CategoryId", categoryId));
                }
            }
            else
            {
                if ("desc".Equals(order, StringComparison.OrdinalIgnoreCase))
                {
                    if ("approved".Equals(sort, StringComparison.OrdinalIgnoreCase))
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select()
                               .OrderBy(D("Approved"), A("SortNum"), A("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Od("Approved"), Oa("SortNum"), Oa("Id")), index, size, out count);
                    else
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select()
                               .OrderBy(D("SortNum"), A("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Od("SortNum"), Oa("Id")), index, size, out count);
                }
                else
                {
                    if ("approved".Equals(sort, StringComparison.OrdinalIgnoreCase))
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select()
                               .OrderBy(A("Approved"), A("SortNum"), A("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Oa("Approved"), Oa("SortNum"), Oa("Id")), index, size, out count);
                    else
                    {
                        list = Db <ProductBrand> .Query(ds)
                               .Select()
                               .OrderBy(A("SortNum"), A("Id"))
                               .ToList(size, index, out count);
                    }
                    //list = ExecuteReader<ProductBrand>(ds, Os(Oa("SortNum"), Oa("Id")), index, size, out count);
                }
            }
            foreach (var item in list)
            {
                item.Categorys = ProductBrandMapping.GetByBrandId(ds, item.Id);
            }
            return(new SplitPageData <dynamic>(index, size, list, count, show));
        }
示例#4
0
        public void Add()
        {
            if (CheckAjax())
            {
                if (CheckRight())
                {
                    if (IsPost)
                    {
                        M.ProductBrand brand = new M.ProductBrand()
                        {
                            Name      = Request["Name"],
                            FirstChar = Request["FirstChar"],
                            //CategoryId = int.Parse(Request["CategoryId"]),
                            Logo      = Request["Logo"],
                            Recommend = Types.GetBooleanFromString(Request["Recommend"]),
                            SortNum   = int.Parse(Request["SortNum"]),
                            Approved  = Types.GetBooleanFromString(Request["Approved"])
                        };

                        DataStatus status;
                        DataSource.Begin();
                        try
                        {
                            string[] Categorys = Request["Categorys"].Split(',');
                            if (Categorys.Length > 0)
                            {
                                for (int i = 0; i < Categorys.Length; i++)
                                {
                                    M.ProductBrandMapping m = new M.ProductBrandMapping();
                                    m.BrandId    = brand.Id;
                                    m.CategoryId = int.Parse(Categorys[i]);
                                    if (M.ProductBrandMapping.Add(DataSource, m) != DataStatus.Success)
                                    {
                                        throw new Exception();
                                    }
                                }
                            }

                            if (brand.Insert(DataSource) != DataStatus.Success)
                            {
                                throw new Exception();
                            }

                            DataSource.Commit();
                            status = DataStatus.Success;
                        }
                        catch (Exception)
                        {
                            DataSource.Rollback();
                            status = DataStatus.Failed;
                        }
                        SetResult(status, () =>
                        {
                            WritePostLog("ADD");
                        });
                    }
                    else
                    {
                        NotFound();
                    }
                }
            }
        }