public ActionResult SaveUserTaskSetting(UserTaskSettingModel model)
        {
            var result = UserTaskSettingManager.SaveTaskSetting(model);

            if (result.Item1)
            {
                CleanTaskCache();
            }
            return(Json(result));
        }
        public ActionResult AddOrEditUserTaskSetting(int PKID, string Type)
        {
            var model = new UserTaskSettingModel();

            if (Type == "Update")
            {
                model = UserTaskSettingManager.GetUserTaskSetting(PKID);
            }
            var ConditionList = UserTaskSettingManager.GetTaskCompleteCondition();

            return(View(Tuple.Create(model, ConditionList)));
        }
        public static Tuple <bool, string> SaveTaskSetting(UserTaskSettingModel model)
        {
            if (model.PKID > 0)
            {
                var temp = GetUserTaskSetting(model.PKID);
                if (temp != null)
                {
                    if (temp.StartTime < DateTime.Now && model.StartTime.ToString() != temp.StartTime.ToString())
                    {
                        return(Tuple.Create(false, "已经开始的任务开始时间不能修改!"));
                    }

                    return(Tuple.Create(DalUserTaskSetting.UpdateTaskSetting(model), ""));
                }
                else
                {
                    return(Tuple.Create(false, "不存在该任务!"));
                }
            }
            else
            {
                return(Tuple.Create(DalUserTaskSetting.CreateTaskSetting(model), ""));
            }
        }
        public static bool CreateTaskSetting(UserTaskSettingModel model)
        {
            #region sql
            const string sql = @"Insert into  Gungnir..UserTaskSetting(
TaskName,
TaskDescription,
TargetButtonUrl,
TargetButtonDescription,
Condition_1,
Condition_1_Value,
Condition_2,
Condition_2_Value,
Condition_3,
Condition_3_Value,
Condition_4,
Condition_4_Value,
Condition_5,
Condition_5_Value,
ConditionCountValue,
CouponId_1,
CouponId_1_Num,
CouponId_2,
CouponId_2_Num,
CouponId_3,
CouponId_3_Num,
CouponId_4,
CouponId_4_Num,
CouponId_5,
CouponId_5_Num,
Tag_1,
Tag_2,
CreateTime,
UpdateTime,
ValidTimeType,
StartTime,
EndTime,
Status,
DisplayType,
ImageUrl)
values(
@TaskName,
@TaskDescription,
@TargetButtonUrl,
@TargetButtonDescription,
@Condition_1,
@Condition_1_Value,
@Condition_2,
@Condition_2_Value,
@Condition_3,
@Condition_3_Value,
@Condition_4,
@Condition_4_Value,
@Condition_5,
@Condition_5_Value,
@ConditionCountValue,
@CouponId_1,
@CouponId_1_Num,
@CouponId_2,
@CouponId_2_Num,
@CouponId_3,
@CouponId_3_Num,
@CouponId_4,
@CouponId_4_Num,
@CouponId_5,
@CouponId_5_Num,
@Tag_1,
@Tag_2,
@CreateTime,
@UpdateTime,
@ValidTimeType,
@StartTime,
@EndTime,
@Status,
@DisplayType,
@ImageUrl)
";
            #endregion
            var cmd = new SqlCommand(sql);
            #region parameters

            cmd.Parameters.AddWithValue("@TaskName", model.TaskName);
            cmd.Parameters.AddWithValue("@TaskDescription", model.TaskDescription);
            cmd.Parameters.AddWithValue("@TargetButtonUrl", model.TargetButtonUrl);
            cmd.Parameters.AddWithValue("@TargetButtonDescription", model.TargetButtonDescription);
            cmd.Parameters.AddWithValue("@Condition_1", model.Condition_1);
            cmd.Parameters.AddWithValue("@Condition_1_Value", model.Condition_1_Value);
            cmd.Parameters.AddWithValue("@Condition_2", model.Condition_2);
            cmd.Parameters.AddWithValue("@Condition_2_Value", model.Condition_2_Value);
            cmd.Parameters.AddWithValue("@Condition_3", model.Condition_3);
            cmd.Parameters.AddWithValue("@Condition_3_Value", model.Condition_3_Value);
            cmd.Parameters.AddWithValue("@Condition_4", model.Condition_4);
            cmd.Parameters.AddWithValue("@Condition_4_Value", model.Condition_4_Value);
            cmd.Parameters.AddWithValue("@Condition_5", model.Condition_5);
            cmd.Parameters.AddWithValue("@Condition_5_Value", model.Condition_5_Value);
            cmd.Parameters.AddWithValue("@ConditionCountValue", model.ConditionCountValue.Trim());
            cmd.Parameters.AddWithValue("@CouponId_1", model.CouponId_1);
            cmd.Parameters.AddWithValue("@CouponId_1_Num", model.CouponId_1_Num);
            cmd.Parameters.AddWithValue("@CouponId_2", model.CouponId_2);
            cmd.Parameters.AddWithValue("@CouponId_2_Num", model.CouponId_2_Num);
            cmd.Parameters.AddWithValue("@CouponId_3", model.CouponId_3);
            cmd.Parameters.AddWithValue("@CouponId_3_Num", model.CouponId_3_Num);
            cmd.Parameters.AddWithValue("@CouponId_4", model.CouponId_4);
            cmd.Parameters.AddWithValue("@CouponId_4_Num", model.CouponId_4_Num);
            cmd.Parameters.AddWithValue("@CouponId_5", model.CouponId_5);
            cmd.Parameters.AddWithValue("@CouponId_5_Num", model.CouponId_5_Num);
            cmd.Parameters.AddWithValue("@Tag_1", model.Tag_1);
            cmd.Parameters.AddWithValue("@Tag_2", model.Tag_2);
            cmd.Parameters.AddWithValue("@CreateTime", DateTime.Now);
            cmd.Parameters.AddWithValue("@UpdateTime", model.UpdateTime);
            cmd.Parameters.AddWithValue("@ValidTimeType", model.ValidTimeType);
            cmd.Parameters.AddWithValue("@StartTime", model.StartTime);
            cmd.Parameters.AddWithValue("@EndTime", model.EndTime);
            cmd.Parameters.AddWithValue("@Status", model.Status);
            cmd.Parameters.AddWithValue("@DisplayType", model.DisplayType);
            cmd.Parameters.AddWithValue("@ImageUrl", model.ImageUrl);
            #endregion

            return(DbHelper.ExecuteNonQuery(cmd) > 0);
        }
        public static bool UpdateTaskSetting(UserTaskSettingModel model)
        {
            #region sql
            const string sql = @"Update Gungnir..UserTaskSetting 
Set TaskName=ISNULL(@TaskName,TaskName),
TaskDescription=ISNULL(@TaskDescription,TaskDescription),
TargetButtonUrl=ISNULL(@TargetButtonUrl,TargetButtonUrl),
TargetButtonDescription=ISNULL(@TargetButtonDescription,TargetButtonDescription),
Condition_1=ISNULL(@Condition_1,Condition_1),
Condition_1_Value=ISNULL(@Condition_1_Value,Condition_1_Value),
Condition_2=ISNULL(@Condition_2,Condition_2),
Condition_2_Value=ISNULL(@Condition_2_Value,Condition_2_Value),
Condition_3=ISNULL(@Condition_3,Condition_3),
Condition_3_Value=ISNULL(@Condition_3_Value,Condition_3_Value),
Condition_4=ISNULL(@Condition_4,Condition_4),
Condition_4_Value=ISNULL(@Condition_4_Value,Condition_4_Value),
Condition_5=ISNULL(@Condition_5,Condition_5),
Condition_5_Value=ISNULL(@Condition_5_Value,Condition_5_Value),
ConditionCountValue=ISNULL(@ConditionCountValue,ConditionCountValue),
CouponId_1=ISNULL(@CouponId_1,CouponId_1),
CouponId_1_Num=ISNULL(@CouponId_1_Num,CouponId_1_Num),
CouponId_2=ISNULL(@CouponId_2,CouponId_2),
CouponId_2_Num=ISNULL(@CouponId_2_Num,CouponId_2_Num),
CouponId_3=ISNULL(@CouponId_3,CouponId_3),
CouponId_3_Num=ISNULL(@CouponId_3_Num,CouponId_3_Num),
CouponId_4=ISNULL(@CouponId_4,CouponId_4),
CouponId_4_Num=ISNULL(@CouponId_4_Num,CouponId_4_Num),
CouponId_5=ISNULL(@CouponId_5,CouponId_5),
CouponId_5_Num=ISNULL(@CouponId_5_Num,CouponId_5_Num),
Tag_1=ISNULL(@Tag_1,Tag_1),
Tag_2=ISNULL(@Tag_2,Tag_2),
CreateTime=ISNULL(@CreateTime,CreateTime),
UpdateTime=ISNULL(@UpdateTime,UpdateTime),
ValidTimeType=ISNULL(@ValidTimeType,ValidTimeType),
StartTime=ISNULL(@StartTime,StartTime),
EndTime=ISNULL(@EndTime,EndTime),
Status=ISNULL(@Status,Status),
DisplayType=ISNULL(@DisplayType,DisplayType),
ImageUrl=ISNULL(@ImageUrl,ImageUrl)
WHERE PKID=@PKID";
            #endregion
            var cmd = new SqlCommand(sql);
            #region parameters

            cmd.Parameters.AddWithValue("@TaskName", model.TaskName);
            cmd.Parameters.AddWithValue("@TaskDescription", model.TaskDescription);
            cmd.Parameters.AddWithValue("@TargetButtonUrl", model.TargetButtonUrl);
            cmd.Parameters.AddWithValue("@TargetButtonDescription", model.TargetButtonDescription);
            cmd.Parameters.AddWithValue("@Condition_1", model.Condition_1);
            cmd.Parameters.AddWithValue("@Condition_1_Value", model.Condition_1_Value);
            cmd.Parameters.AddWithValue("@Condition_2", model.Condition_2);
            cmd.Parameters.AddWithValue("@Condition_2_Value", model.Condition_2_Value);
            cmd.Parameters.AddWithValue("@Condition_3", model.Condition_3);
            cmd.Parameters.AddWithValue("@Condition_3_Value", model.Condition_3_Value);
            cmd.Parameters.AddWithValue("@Condition_4", model.Condition_4);
            cmd.Parameters.AddWithValue("@Condition_4_Value", model.Condition_4_Value);
            cmd.Parameters.AddWithValue("@Condition_5", model.Condition_5);
            cmd.Parameters.AddWithValue("@Condition_5_Value", model.Condition_5_Value);
            cmd.Parameters.AddWithValue("@ConditionCountValue", model.ConditionCountValue.Trim());
            cmd.Parameters.AddWithValue("@CouponId_1", model.CouponId_1);
            cmd.Parameters.AddWithValue("@CouponId_1_Num", model.CouponId_1_Num);
            cmd.Parameters.AddWithValue("@CouponId_2", model.CouponId_2);
            cmd.Parameters.AddWithValue("@CouponId_2_Num", model.CouponId_2_Num);
            cmd.Parameters.AddWithValue("@CouponId_3", model.CouponId_3);
            cmd.Parameters.AddWithValue("@CouponId_3_Num", model.CouponId_3_Num);
            cmd.Parameters.AddWithValue("@CouponId_4", model.CouponId_4);
            cmd.Parameters.AddWithValue("@CouponId_4_Num", model.CouponId_4_Num);
            cmd.Parameters.AddWithValue("@CouponId_5", model.CouponId_5);
            cmd.Parameters.AddWithValue("@CouponId_5_Num", model.CouponId_5_Num);
            cmd.Parameters.AddWithValue("@Tag_1", model.Tag_1);
            cmd.Parameters.AddWithValue("@Tag_2", model.Tag_2);
            cmd.Parameters.AddWithValue("@CreateTime", model.CreateTime);
            cmd.Parameters.AddWithValue("@UpdateTime", model.UpdateTime);
            cmd.Parameters.AddWithValue("@ValidTimeType", model.ValidTimeType);
            cmd.Parameters.AddWithValue("@StartTime", model.StartTime);
            cmd.Parameters.AddWithValue("@EndTime", model.EndTime);
            cmd.Parameters.AddWithValue("@Status", model.Status);
            cmd.Parameters.AddWithValue("@DisplayType", model.DisplayType);
            cmd.Parameters.AddWithValue("@ImageUrl", model.ImageUrl);
            cmd.Parameters.AddWithValue("@PKID", model.PKID);
            #endregion

            return(DbHelper.ExecuteNonQuery(cmd) > 0);
        }