Exemple #1
0
        public void AdjustSlidAdIndex(long shopId, long id, bool direction, SlideAdInfo.SlideAdType type)
        {
            DbFactory.Default.InTransaction(() =>
            {
                var slide = DbFactory.Default.Get <SlideAdInfo>().Where(s => s.ShopId == shopId && s.Id == id && s.TypeId == type).FirstOrDefault();
                if (direction)
                {
                    var prev = DbFactory.Default.Get <SlideAdInfo>().Where(s => s.ShopId == shopId && s.TypeId == type).OrderByDescending(s => s.DisplaySequence).Where(s => s.DisplaySequence < slide.DisplaySequence).FirstOrDefault();
                    if (null != prev)
                    {
                        var temp = slide.DisplaySequence;
                        slide.DisplaySequence = prev.DisplaySequence;
                        prev.DisplaySequence  = temp;
                        DbFactory.Default.Update(slide);
                        DbFactory.Default.Update(prev);
                    }
                }
                else
                {
                    var next = DbFactory.Default.Get <SlideAdInfo>().Where(s => s.ShopId == shopId && s.TypeId == type).OrderBy(s => s.DisplaySequence).Where(s => s.DisplaySequence > slide.DisplaySequence).FirstOrDefault();

                    if (null != next)
                    {
                        var temp = slide.DisplaySequence;
                        slide.DisplaySequence = next.DisplaySequence;
                        next.DisplaySequence  = temp;
                    }
                    DbFactory.Default.Update(slide);
                    DbFactory.Default.Update(next);
                }
            });
            //Context.SaveChanges();
        }
Exemple #2
0
        public void AdjustSlidAdIndex(long shopId, long id, bool direction, SlideAdInfo.SlideAdType type)
        {
            var slide = Context.SlideAdInfo.FirstOrDefault(s => s.ShopId == shopId && s.Id == id && s.TypeId == type);

            if (direction)
            {
                //var prev = context.SlideAdInfo.FirstOrDefault(s => s.ShopId == shopId && s.DisplaySequence == slide.DisplaySequence - 1 && s.TypeId == type);
                var prev = Context.SlideAdInfo.OrderByDescending(s => s.DisplaySequence).FirstOrDefault(s => s.ShopId == shopId && s.TypeId == type && s.DisplaySequence < slide.DisplaySequence);
                if (null != prev)
                {
                    slide.DisplaySequence = slide.DisplaySequence - 1;
                    prev.DisplaySequence  = prev.DisplaySequence + 1;
                }
            }
            else
            {
                var next = Context.SlideAdInfo.OrderBy(s => s.DisplaySequence).FirstOrDefault(s => s.ShopId == shopId && s.TypeId == type && s.DisplaySequence > slide.DisplaySequence);

                if (null != next)
                {
                    slide.DisplaySequence = slide.DisplaySequence + 1;
                    next.DisplaySequence  = next.DisplaySequence - 1;
                }
            }

            Context.SaveChanges();
        }
Exemple #3
0
        private string MoveImages(ref string backGroundImage, SlideAdInfo.SlideAdType type, long shopId)
        {
            string empty = string.Empty;
            string str   = string.Empty;

            if (type == SlideAdInfo.SlideAdType.WeixinHome)
            {
                empty = IOHelper.GetMapPath("/Storage/Plat/Weixin/SlidAd/");
                str   = "/Storage/Plat/Weixin/SlidAd/";
            }
            if (type == SlideAdInfo.SlideAdType.VShopHome)
            {
                empty = IOHelper.GetMapPath(string.Concat("/Storage/Shop/", shopId, "/VShop/"));
                str   = string.Concat("/Storage/Shop/", shopId, "/VShop/");
            }
            if (type == SlideAdInfo.SlideAdType.IOSShopHome)
            {
                empty = IOHelper.GetMapPath("/Storage/Plat/APP/SlidAd/");
                str   = "/Storage/Plat/APP/SlidAd/";
            }
            if (!string.IsNullOrWhiteSpace(empty) && !Directory.Exists(empty))
            {
                Directory.CreateDirectory(empty);
            }
            if (!string.IsNullOrWhiteSpace(empty) && backGroundImage.Replace("\\", "/").Contains("/temp/"))
            {
                string mapPath = IOHelper.GetMapPath(backGroundImage);
                IOHelper.CopyFile(mapPath, empty, false, "");
                backGroundImage = string.Concat(str, (new FileInfo(mapPath)).Name);
            }
            return(backGroundImage);
        }
        /// <summary>
        /// 查询切换
        /// </summary>
        /// <param name="shopId"></param>
        /// <param name="slidAdsType"></param>
        /// <returns></returns>

        public IEnumerable <SlideAdInfo> GetSlidAdsOrInit(long shopId, SlideAdInfo.SlideAdType?slidAdsType = 0)
        {
            IEnumerable <SlideAdInfo> source = (IEnumerable <SlideAdInfo>)Queryable.OrderBy <SlideAdInfo, long>(DbSetExtend.FindBy <SlideAdInfo>(this.Context.SlideAdInfo, (Expression <Func <SlideAdInfo, bool> >)(i => i.ShopId == shopId)), (Expression <Func <SlideAdInfo, long> >)(i => i.Id));

            SlideAdInfo.SlideAdType?nullable1 = slidAdsType;
            if ((nullable1.GetValueOrDefault() != SlideAdInfo.SlideAdType.Initial ? 1 : (!nullable1.HasValue ? 1 : 0)) != 0)
            {
                source = Enumerable.Where <SlideAdInfo>(source, (Func <SlideAdInfo, bool>)(item =>
                {
                    SlideAdInfo.SlideAdType typeId    = item.TypeId;
                    SlideAdInfo.SlideAdType?nullable2 = slidAdsType;
                    return(typeId == nullable2.GetValueOrDefault() && nullable2.HasValue);
                }));
            }
            if (Enumerable.Count <SlideAdInfo>(source) == 0)
            {
                SlideAdInfo[] slideAdInfoArray = new SlideAdInfo[5];
                for (int index = 0; index < 5; ++index)
                {
                    slideAdInfoArray[index] = new SlideAdInfo()
                    {
                        ImageUrl = "",
                        ShopId   = shopId,
                        Url      = "",
                        TypeId   = slidAdsType.Value
                    }
                }
                ;
                this.Context.SlideAdInfo.AddRange((IEnumerable <SlideAdInfo>)slideAdInfoArray);
                this.Context.SaveChanges();
                source = (IEnumerable <SlideAdInfo>)slideAdInfoArray;
            }
            return(source);
        }
Exemple #5
0
 public IQueryable <SlideAdInfo> GetSlidAds(long shopId, SlideAdInfo.SlideAdType type)
 {
     return
         (from s in context.SlideAdInfo
          where s.ShopId == shopId && (int)s.TypeId == (int)type
          select s into t
          orderby t.DisplaySequence
          select t);
 }
Exemple #6
0
        /// <summary>
        /// 图片转移
        /// </summary>
        /// <param name="topicId">专题编号</param>
        /// <param name="backGroundImage">临时背景图地址,返回正式地址</param>
        /// <param name="topImage">临时top图地址,返回正式地址</param>
        /// <returns>专题图片目录</returns>
        string MoveImages(ref string backGroundImage, SlideAdInfo.SlideAdType type, long shopId)
        {
            string imageDir    = string.Empty;
            string relativeDir = string.Empty;

            if (type == SlideAdInfo.SlideAdType.WeixinHome)
            {
                //转移图片
                imageDir    = "/Storage/Plat/Weixin/SlidAd/";
                relativeDir = "/Storage/Plat/Weixin/SlidAd/";
            }

            if (type == SlideAdInfo.SlideAdType.VShopHome)
            {
                imageDir    = "/Storage/Shop/" + shopId + "/VShop/";
                relativeDir = "/Storage/Shop/" + shopId + "/VShop/";
            }
            if (type == SlideAdInfo.SlideAdType.IOSShopHome)
            {
                imageDir    = "/Storage/Plat/APP/SlidAd/";
                relativeDir = "/Storage/Plat/APP/SlidAd/";
            }
            backGroundImage = backGroundImage.Replace("\\", "/");

            if (!string.IsNullOrWhiteSpace(imageDir))//只有在临时目录中的图片才需要复制
            {
                if (backGroundImage.Contains("/temp/"))
                {
                    if (!string.IsNullOrWhiteSpace(backGroundImage))
                    {
                        string logoname = backGroundImage.Substring(backGroundImage.LastIndexOf('/') + 1);
                        string oldlogo  = backGroundImage.Substring(backGroundImage.LastIndexOf("/temp"));
                        string newLogo  = imageDir + logoname;
                        Core.HimallIO.CopyFile(oldlogo, newLogo, true);
                        backGroundImage = newLogo;
                    }
                }
                else if (backGroundImage.Contains("/Storage/"))
                {
                    backGroundImage = backGroundImage.Substring(backGroundImage.LastIndexOf("/Storage"));
                }
            }

            return(backGroundImage);
        }
Exemple #7
0
        public void AdjustSlidAdIndex(long shopId, long id, bool direction, SlideAdInfo.SlideAdType type)
        {
            SlideAdInfo displaySequence = context.SlideAdInfo.FirstOrDefault((SlideAdInfo s) => s.ShopId == shopId && s.Id == id && (int)s.TypeId == (int)type);

            if (!direction)
            {
                SlideAdInfo slideAdInfo = context.SlideAdInfo.FirstOrDefault((SlideAdInfo s) => s.ShopId == shopId && s.DisplaySequence == displaySequence.DisplaySequence + 1 && (int)s.TypeId == (int)type);
                if (slideAdInfo != null)
                {
                    displaySequence.DisplaySequence = displaySequence.DisplaySequence + 1;
                    slideAdInfo.DisplaySequence     = slideAdInfo.DisplaySequence - 1;
                }
            }
            else
            {
                SlideAdInfo displaySequence1 = context.SlideAdInfo.FirstOrDefault((SlideAdInfo s) => s.ShopId == shopId && s.DisplaySequence == displaySequence.DisplaySequence - 1 && (int)s.TypeId == (int)type);
                if (displaySequence1 != null)
                {
                    displaySequence.DisplaySequence  = displaySequence.DisplaySequence - 1;
                    displaySequence1.DisplaySequence = displaySequence1.DisplaySequence + 1;
                }
            }
            context.SaveChanges();
        }
Exemple #8
0
 public static bool DelSlideAdByType(long shopId, SlideAdInfo.SlideAdType type)
 {
     return(_iSlideAdsService.DelSlideAdByType(shopId, type));
 }
Exemple #9
0
        /// <summary>
        /// 获取自动轮播广告图片
        /// </summary>
        /// <returns></returns>
        public static IList <SlideAdInfo> GetSlidAds(long shopId, SlideAdInfo.SlideAdType type)
        {
            var slidAds = _iSlideAdsService.GetSlidAds(shopId, type).ToList();

            return(slidAds);
        }
Exemple #10
0
 /// <summary>
 /// 排序上下移
 /// </summary>
 /// <param name="sourceSequence"></param>
 /// <param name="destiSequence"></param>
 public static void UpdateWeixinSlideSequence(long shopId, long sourceSequence, long destiSequence, SlideAdInfo.SlideAdType type)
 {
     _iSlideAdsService.UpdateWeixinSlideSequence(shopId, sourceSequence, destiSequence, type);
 }
Exemple #11
0
 public bool DelSlideAdByType(long shopId, SlideAdInfo.SlideAdType type)
 {
     return(DbFactory.Default.Del <SlideAdInfo>(s => s.ShopId == shopId && s.TypeId == type) > 0);
 }
Exemple #12
0
 public void UpdateWeixinSlideSequence(long shopId, long sourceSequence, long destiSequence, SlideAdInfo.SlideAdType type)
 {
     DbFactory.Default.InTransaction(() =>
     {
         var souce                   = DbFactory.Default.Get <SlideAdInfo>().Where(item => item.DisplaySequence == sourceSequence && item.ShopId == shopId && item.TypeId == type).FirstOrDefault();
         var destination             = DbFactory.Default.Get <SlideAdInfo>().Where(item => item.DisplaySequence == destiSequence && item.ShopId == shopId && item.TypeId == type).FirstOrDefault();
         souce.DisplaySequence       = destiSequence;
         destination.DisplaySequence = sourceSequence;
         DbFactory.Default.Update(souce);
         DbFactory.Default.Update(destination);
     });
 }
Exemple #13
0
 public List <SlideAdInfo> GetSlidAds(long shopId, SlideAdInfo.SlideAdType type)
 {
     return(DbFactory.Default.Get <SlideAdInfo>().Where(s => s.ShopId == shopId && s.TypeId == type).OrderBy(t => t.DisplaySequence).ToList());
 }
Exemple #14
0
 public IQueryable <Model.SlideAdInfo> GetSlidAds(long shopId, SlideAdInfo.SlideAdType type)
 {
     return(Context.SlideAdInfo.Where(s => s.ShopId == shopId && s.TypeId == type).OrderBy(t => t.DisplaySequence));
 }
Exemple #15
0
        public void UpdateWeixinSlideSequence(long shopId, long sourceSequence, long destiSequence, SlideAdInfo.SlideAdType type)
        {
            var souce       = Context.SlideAdInfo.FirstOrDefault(item => item.DisplaySequence == sourceSequence && item.ShopId == shopId && item.TypeId == type);
            var destination = Context.SlideAdInfo.FirstOrDefault(item => item.DisplaySequence == destiSequence && item.ShopId == shopId && item.TypeId == type);

            souce.DisplaySequence       = destiSequence;
            destination.DisplaySequence = sourceSequence;
            Context.SaveChanges();
        }
Exemple #16
0
        public void UpdateWeixinSlideSequence(long shopId, long sourceSequence, long destiSequence, SlideAdInfo.SlideAdType type)
        {
            SlideAdInfo slideAdInfo  = context.SlideAdInfo.FirstOrDefault((SlideAdInfo item) => item.DisplaySequence == sourceSequence && item.ShopId == shopId && (int)item.TypeId == (int)type);
            SlideAdInfo slideAdInfo1 = context.SlideAdInfo.FirstOrDefault((SlideAdInfo item) => item.DisplaySequence == destiSequence && item.ShopId == shopId && (int)item.TypeId == (int)type);

            slideAdInfo.DisplaySequence  = destiSequence;
            slideAdInfo1.DisplaySequence = sourceSequence;
            context.SaveChanges();
        }