예제 #1
0
 public static int ApproveBack(string acid)
 {
     using (var dbHelper = new SqlDbHelper(ConnectionHelper.GetDecryptConn("Gungnir")))
     {
         dbHelper.BeginTransaction();
         try
         {
             //var result1 = DalSeckill.DeleteFlashSaleTempByAcid(acid);
             //if (result1 <= 0)
             //{
             //    dbHelper.Rollback();
             //    return -1;
             //}
             //var result2 = DalSeckill.DeleteFlashSaleProductsTempByAcid(acid);
             //if (result2 <= 0)
             //{
             //    dbHelper.Rollback();
             //    return -1;
             //}
             var result3 = DalSeckill.UpdateSeckillToToApprove(acid, 2);
             if (result3 <= 0)
             {
                 dbHelper.Rollback();
                 return(-1);
             }
             dbHelper.Commit();
             return(1);
         }
         catch (Exception e)
         {
             dbHelper.Rollback();
             throw new Exception(e.Message);;
         }
     }
 }
예제 #2
0
        public ScheduleDetail GenerateDefaultActivity(DateTime dt, string schedule, string shortDate)
        {
            var status = CompareSchedule(schedule, ConvertToSchedule(DateTime.Now.Hour), dt);
            var models = new List <QiangGouProductModel>();

            if (status.Item1 != 1)
            {
                models = DalSeckill.SelectDefultActivityBySchedule(schedule)?.ToList() ?? new List <QiangGouProductModel>();;
            }
            var first = models.FirstOrDefault();

            if (first == null || first.ActivityID == new Guid())
            {
                return(new ScheduleDetail
                {
                    Status = 1,
                    StrStatus = "新建",
                    Schedule = schedule,
                    IsDefault = false,
                    ShortDate = shortDate
                });
            }
            return(new ScheduleDetail
            {
                Status = status.Item1,
                StrStatus = status.Item2,
                ActivityId = models.Select(r => r.ActivityID).FirstOrDefault().ToString(),
                Count = models.Count,
                Schedule = schedule,
                ShortDate = shortDate,
                IsDefault = true
            });
        }
예제 #3
0
        public static List <SeckillListModel> SelectSeckillList(DateTime dt)
        {
            var data1 = DalSeckill.SelectQiangGouAndProducts(dt);     //已审核产品数据
            var data2 = DalSeckill.SelectQiangGouTempAndProducts(dt); //待审核产品数据

            var data2aids = data2.Select(r => r.ActivityID).ToList();
            //var data3 = data2.Except(data1);
            var dbResult = data1.Where(r => !data2aids.Contains(r.ActivityID)).Union(data2).ToList();



            var scheduleDetails = dbResult.GroupBy(r => new
            {
                r.ActivityID,
                r.StartDateTime,
                r.EndDateTime,
                r.IsShow
            })
                                  .Select(
                d =>
                new ScheduleDetail(DalSeckill.SelectActivityStatusByActivityId(d.Key.ActivityID.ToString()),
                                   d.Key.StartDateTime, d.Key.EndDateTime)
            {
                ActivityId  = d.Key.ActivityID.ToString(),
                Count       = dbResult.Where(a => a.ActivityID == d.Key.ActivityID).Count(),
                IsShowCount = dbResult.Where(a => a.IsShow == true && a.ActivityID == d.Key.ActivityID).Count()
            });



            var scheduleModels = scheduleDetails.GroupBy(r => new
            {
                r.ShortDate,
                r.Week
            }).Select(d => new ScheduleModel()
            {
                Week      = d.Key.Week,
                ShortDate = d.Key.ShortDate,
                Schedule  = d.Select(s => new ScheduleDetail()
                {
                    ActivityId  = s.ActivityId,
                    Count       = s.Count,
                    Schedule    = s.Schedule,
                    Status      = s.Status,
                    ShortDate   = s.ShortDate,
                    StrStatus   = s.StrStatus,
                    IsShowCount = s.IsShowCount
                }).ToList()
            }).ToList();

            return(new List <SeckillListModel>
            {
                new SeckillListModel(dt, "0点场", scheduleModels),
                new SeckillListModel(dt, "10点场", scheduleModels),
                new SeckillListModel(dt, "13点场", scheduleModels),
                new SeckillListModel(dt, "16点场", scheduleModels),
                new SeckillListModel(dt, "20点场", scheduleModels),
            });
        }
예제 #4
0
 public static QiangGouModel FetchNeedExamQiangGouAndProducts(Guid aid)
 {
     try
     {
         var dt = DalSeckill.FetchNeedExamQiangGouAndProducts(aid);
         if (dt == null || dt.Rows.Count == 0)
         {
             return(null);
         }
         var model        = dt.ConvertTo <QiangGouModel>()?.FirstOrDefault() ?? new QiangGouModel();
         var pids         = dt.ConvertTo <QiangGouProductModel>().Select(r => r.PID).ToList();
         var costPriceSql = DalSeckill.SelectProductCostPriceByPids(pids);
         var products     = from a in dt.ConvertTo <QiangGouProductModel>()
                            join b in costPriceSql on a.PID equals b.PID into temp
                            from b in temp.DefaultIfEmpty()
                            select new QiangGouProductModel
         {
             PKID               = a.PKID,
             ActivityID         = a.ActivityID,
             ActivityName       = a.ActivityName,
             PID                = a.PID,
             HashKey            = a.HashKey,
             Price              = a.Price,
             TotalQuantity      = a.TotalQuantity,
             MaxQuantity        = a.MaxQuantity,
             SaleOutQuantity    = a.SaleOutQuantity,
             InstallAndPay      = a.InstallAndPay,
             IsUsePCode         = a.IsUsePCode,
             Channel            = a.Channel,
             IsJoinPlace        = a.IsJoinPlace,
             FalseOriginalPrice = a.FalseOriginalPrice,
             DisplayName        = a.DisplayName,
             OriginalPrice      = a.OriginalPrice,
             ProductName        = a.ProductName,
             Label              = a.Label,
             CostPrice          = b?.CostPrice,
             Position           = a.Position,
             IsShow             = a.IsShow,
             Image              = a.Image,
             InstallService     = a.InstallService,
             DecreaseDegree     = (Math.Round((a.OriginalPrice - a.Price) / a.OriginalPrice, 2) * 100) + "%"
         };
         model.Products = products;
         return(model);
     }
     catch (Exception ex)
     {
         return(new QiangGouModel());
     }
 }
예제 #5
0
        public ScheduleDetail DefaultGenerateDefaultActivity(string schedule, string shortDate)
        {
            var models = DalSeckill.SelectDefultActivityBySchedule(schedule)?.ToList() ?? new List <QiangGouProductModel>();;
            var first  = models.FirstOrDefault();

            if (first == null || first.ActivityID == new Guid())
            {
                models = DalSeckill.SelectDefultActivityTempBySchedule(schedule)?.ToList() ?? new List <QiangGouProductModel>();
                first  = models.FirstOrDefault();
                if (first == null || first.ActivityID == new Guid())
                {
                    return(new ScheduleDetail
                    {
                        Status = 1,
                        StrStatus = "新建",
                        ShortDate = shortDate,
                        Schedule = schedule,
                        IsDefault = true,
                    });
                }
            }
            var status    = DalSeckill.SelectActivityStatusByActivityId(first.ActivityID.ToString());
            var strStatus = "已发布";
            var count     = models.Count;

            if (status != 0)
            {
                status    = status == 1 ? 2 : 4;
                count     = DalSeckill.SelectActivityProductsByActivityId(first.ActivityID.ToString());
                strStatus = status == 2
                    ? "待审核"
                    : "已驳回";
            }
            else
            {
                status = 3;
            }
            return(new ScheduleDetail
            {
                Status = status,
                StrStatus = strStatus,
                ActivityId = models.Select(r => r.ActivityID).FirstOrDefault().ToString(),
                Count = count,
                Schedule = schedule,
                IsDefault = true,
                ShortDate = shortDate
            });
        }
예제 #6
0
        public static int DeleteFirstCreateActivityApproveBack(string aid)
        {
            var mainDelete = DalSeckill.DeleteFlashSaleTempByAcid(aid);

            if (mainDelete <= 0)
            {
                return(-1);
            }
            var subDelete = DalSeckill.DeleteFlashSaleProductsTempByAcid(aid);

            if (subDelete <= 0)
            {
                return(-1);
            }
            return(1);
        }
예제 #7
0
 public static int SelectQiangGouIsExist(string acid) => DalSeckill.SelectQiangGouIsExist(acid);
예제 #8
0
 public static int DeleteStatusData(string acid)
 {
     return(DalSeckill.DeleteStatusData(acid));
 }
예제 #9
0
 public static int UpdateSeckillToToApprove(string acid)
 {
     return(DalSeckill.UpdateSeckillToToApprove(acid));
 }
예제 #10
0
 public static List <string> SelectActivityProductPids(Guid aid)
 {
     return(DalSeckill.SelectActivityProductPids(aid));
 }
예제 #11
0
 /// <summary>
 /// 备份活动状态数据
 /// </summary>
 /// <param name="acid"></param>
 /// <returns></returns>
 public static int InsertActivityApprovalStatus(ActivityApprovalStatus model)
 {
     return(DalSeckill.InsertActivityApprovalStatus(model));
 }
예제 #12
0
 /// <summary>
 /// 查询活动获取状态
 /// </summary>
 /// <param name="activityId"></param>
 /// <returns></returns>
 public static ActivityApprovalStatus SelectActivityStatusModel(Guid activityId)
 {
     return(DalSeckill.SelectActivityStatusModel(activityId));
 }