public async Task <JsonResult> Create()
        {
            var activityEdit = ActivityEdit.CreateActivity();

            TryUpdateModel(activityEdit);
            if (await SaveObjectAsync(activityEdit, true))
            {
                return(Json(new { Result = "OK", Record = activityEdit }));
            }

            return(Json(new { Result = "ERROR", Message = String.Join("<br />", ModelState.Values.SelectMany(ms => ms.Errors).Select(me => me.ErrorMessage)) }));
        }
        public void InsertActivity()
        {
            var          newName        = Guid.NewGuid().ToString();
            const string newDescription = "Test Description";
            var          activityEdit   = ActivityEdit.CreateActivity();

            activityEdit.Name        = newName;
            activityEdit.Description = newDescription;

            activityEdit = (IActivityEdit)activityEdit.Save();

            Assert.IsNotNull(activityEdit);
            Assert.AreEqual(newName, activityEdit.Name);
            Assert.AreEqual(newDescription, activityEdit.Description);
            Assert.IsFalse(activityEdit.RequiresApproval);
            Assert.IsTrue(activityEdit.Id > 0);
        }
        public async Task DeleteActivity()
        {
            var          newName        = Guid.NewGuid().ToString();
            const string newDescription = "Test Description";
            var          activityEdit   = ActivityEdit.CreateActivity();

            activityEdit.Name        = newName;
            activityEdit.Description = newDescription;

            activityEdit = (IActivityEdit)activityEdit.Save();

            var id = activityEdit.Id;

            activityEdit.Delete();
            activityEdit.Save();

            activityEdit = ((IActivityEdit)await ActivityEdit.GetActivityEditByIdAsync(id));

            Assert.Fail("Activity Edit Fail should not return.");
        }