public JsonResult SelectABTestResult(string testGuid, string testName, string status, string testGroupId)
        {
            bool flag = false;

            if (string.IsNullOrWhiteSpace(testGuid) ||
                string.IsNullOrWhiteSpace(status) ||
                status != "Done" ||
                string.IsNullOrWhiteSpace(testGroupId))
            {
                return(Json(false));
            }

            ABTestPlatformManager manager = new ABTestPlatformManager();

            flag = manager.SelectABTestResult(testGuid, testName, status, testGroupId);

            #region 插入日志
            ABTestEditLog log = new ABTestEditLog
            {
                TestGuid           = new Guid(testGuid),
                TestName           = testName,
                Change             = "选择测试结果,关闭测试",
                Operator           = ThreadIdentity.Operator.Name,
                CreateTime         = DateTime.Now,
                LastUpdateDataTime = DateTime.Now
            };
            if (flag)
            {
                InsertLog(log);
            }
            #endregion

            return(Json(flag));
        }
        public ActionResult Delete(string testGuid)
        {
            if (string.IsNullOrWhiteSpace(testGuid))
            {
                return(Json(0));
            }

            ABTestPlatformManager manager = new ABTestPlatformManager();
            var oldTest = manager.GetABTestDetailByGuid(new Guid(testGuid));

            if (manager.DeleteABTest(new Guid(testGuid), oldTest.TestName))
            {
                #region 插入日志
                ABTestEditLog log = new ABTestEditLog
                {
                    TestGuid           = oldTest.TestGuid,
                    TestName           = oldTest.TestName,
                    Change             = "删除测试",
                    Operator           = ThreadIdentity.Operator.Name,
                    CreateTime         = DateTime.Now,
                    LastUpdateDataTime = DateTime.Now
                };
                InsertLog(log);
                #endregion
                return(Json(1));
            }
            else
            {
                return(Json(0));
            }
        }
Beispiel #3
0
        public bool InsertLog(ABTestEditLog log)
        {
            string sql = @"INSERT [Configuration].dbo.ABTestEditLog (   TestGuid ,
                                             TestName ,
                                             Change ,
                                             Operator ,
                                             CreateTime ,
                                             LastUpdateDataTime
                                         )
                            VALUES ( @TestGuid ,
                                     @TestName ,
                                     @Change ,
                                     @Operator ,
                                     GETDATE(),
                                     GETDATE()
                                     );";
            var    cmd = new SqlCommand(sql);

            cmd.Parameters.AddWithValue("@TestGuid", log.TestGuid);
            cmd.Parameters.AddWithValue("@TestName", log.TestName);
            cmd.Parameters.AddWithValue("@Change", log.Change);
            cmd.Parameters.AddWithValue("@Operator", log.Operator);

            return(db.ExecuteNonQuery(cmd) > 0);
        }
        public JsonResult AddABTest(string jsonstr, string testName, string testScale)
        {
            bool flag = false;

            ABTestDetail test = new ABTestDetail
            {
                CreateTime         = DateTime.Now,
                Creator            = ThreadIdentity.Operator.Name,
                GroupList          = new List <ABTestGroupDetail>(),
                LastUpdateDataTime = DateTime.Now,
                Status             = "Processing",
                TestGuid           = Guid.NewGuid(),
                TestName           = testName,
                TestScale          = Convert.ToDouble(testScale) / 100
            };
            List <ABTestGroupDetail> groups = new List <ABTestGroupDetail>();

            JArray         o     = (JArray)JsonConvert.DeserializeObject(jsonstr);
            IList <JToken> oList = (IList <JToken>)o;

            foreach (JToken jt in oList)
            {
                JObject jo = jt as JObject;
                groups.Add(new ABTestGroupDetail
                {
                    CreateTime         = DateTime.Now,
                    LastUpdateDataTime = DateTime.Now,
                    TestGuid           = test.TestGuid,
                    Selected           = false,
                    GroupId            = jo["GroupId"].ToString(),
                    GroupName          = jo["GroupName"].ToString()
                });
            }

            test.GroupNum  = groups.Count();
            test.GroupList = groups;

            ABTestPlatformManager manager = new ABTestPlatformManager();

            flag = manager.CreateABTest(test);

            #region 插入日志
            ABTestEditLog log = new ABTestEditLog
            {
                TestGuid           = test.TestGuid,
                TestName           = test.TestName,
                Change             = "新建测试",
                Operator           = ThreadIdentity.Operator.Name,
                CreateTime         = DateTime.Now,
                LastUpdateDataTime = DateTime.Now
            };
            if (flag)
            {
                InsertLog(log);
            }
            #endregion

            return(Json(flag));
        }
        public JsonResult EditABTest(string jsonstr, string testGuid, string testScale)
        {
            bool flag = false;

            ABTestPlatformManager manager = new ABTestPlatformManager();
            var oldTest = manager.GetABTestDetailByGuid(new Guid(testGuid));

            ABTestDetail test = new ABTestDetail
            {
                CreateTime         = DateTime.Now,
                LastUpdateDataTime = DateTime.Now,
                TestGuid           = new Guid(testGuid),
                GroupList          = new List <ABTestGroupDetail>(),
                TestScale          = Convert.ToDouble(testScale) / 100
            };
            List <ABTestGroupDetail> groups = new List <ABTestGroupDetail>();

            JArray         o     = (JArray)JsonConvert.DeserializeObject(jsonstr);
            IList <JToken> oList = (IList <JToken>)o;

            foreach (JToken jt in oList)
            {
                JObject jo = jt as JObject;
                groups.Add(new ABTestGroupDetail
                {
                    CreateTime         = DateTime.Now,
                    LastUpdateDataTime = DateTime.Now,
                    TestGuid           = test.TestGuid,
                    GroupId            = jo["GroupId"].ToString(),
                    ExceptData         = jo["ExceptData"].ToString()
                });
            }
            test.GroupNum  = groups.Count();
            test.GroupList = groups;

            flag = manager.UpdateABTest(test);

            #region 插入日志
            if (flag)
            {
                var           change = CompareChange(oldTest, test);
                ABTestEditLog log    = new ABTestEditLog()
                {
                    TestGuid           = oldTest.TestGuid,
                    TestName           = oldTest.TestName,
                    Change             = change,
                    Operator           = ThreadIdentity.Operator.Name,
                    CreateTime         = DateTime.Now,
                    LastUpdateDataTime = DateTime.Now
                };
                InsertLog(log);
            }
            #endregion

            return(Json(flag));
        }
        public void InsertLog(ABTestEditLog log)
        {
            ABTestPlatformManager manager = new ABTestPlatformManager();

            manager.InsertLog(log);
        }
 public bool InsertLog(ABTestEditLog log)
 {
     return(dal.InsertLog(log));
 }