public async Task GetActivityEditById()
        {
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(1);

            Assert.IsNotNull(activityEdit);
            Assert.AreEqual(1, activityEdit.Id);
        }
        public async Task ActivityNameNotSameAsExisting()
        {
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(1);

            activityEdit.Name = Guid.NewGuid().ToString();

            Assert.IsTrue(activityEdit.IsValid);
        }
        public async Task ActivityNameSameAsExisting()
        {
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(1);

            var secondActivity = await ActivityEdit.GetActivityEditByIdAsync(2);

            activityEdit.Name = secondActivity.Name;

            Assert.IsFalse(activityEdit.IsValid);
        }
        public async Task ActivityNameAbleToBeSetToDbValue()
        {
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(1);

            var oldName = activityEdit.Name;

            activityEdit.Name = Guid.NewGuid().ToString();
            activityEdit.Name = oldName;

            Assert.IsTrue(activityEdit.IsValid);
        }
Пример #5
0
        public async virtual Task <ActionResult> SubmitActivityForm()
        {
            var submittedActivity = SubmitActivity.CreateActivitySubmission(AuthenticatedUser.EmployeeId);

            TryUpdateModel(submittedActivity, "SubmittedActivity");
            var activities = await ActivityCollection.GetAllActivitiesAsync(false);

            var badges = await BadgeCollection.GetAllBadgesForActivitiesAsync(activities.Where(x => x.Id == submittedActivity.ActivityId).Select(x => x.Id));

            var badge = badges.Select(x => new { x.Id, x.BadgeAwardValue, x.BadgeAwardValueMax }).FirstOrDefault();

            if (submittedActivity.AwardValue > badge.BadgeAwardValueMax || submittedActivity.AwardValue < badge.BadgeAwardValue)
            {
                ModelState.AddModelError("SubmittedActivity.AwardValue", String.Format("Award Value not within acceptable range. ({0} - {1})", badge.BadgeAwardValue, badge.BadgeAwardValueMax));
            }
            else if (string.IsNullOrWhiteSpace(submittedActivity.EmployeeIds))
            {
                ModelState.AddModelError("SubmittedActivity.EmployeeIds", ApplicationResources.NoEmployeeIdsErrorMsg);
            }
            else
            {
                //Parse the list of employee ids the client form sent us.
                List <int> empIds = submittedActivity.EmployeeIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                                    .Convert(delegate(string item, out int result) { return(int.TryParse(item.Trim(), out result)); });

                bool allSaved = true;
                foreach (int empId in empIds)
                {
                    var singleActivity = SubmitActivity.CreateActivitySubmission(empId);
                    singleActivity.ActivityId             = submittedActivity.ActivityId;
                    singleActivity.ActivitySubmissionDate = submittedActivity.ActivitySubmissionDate;
                    singleActivity.Notes      = submittedActivity.Notes;
                    singleActivity.AwardValue = submittedActivity.AwardValue;

                    var singActEdit = await ActivityEdit.GetActivityEditByIdAsync(singleActivity.ActivityId);

                    singleActivity.EntryType = singActEdit.EntryType;
                    if (!await SaveObjectAsync(singleActivity, true))
                    {
                        allSaved = false;
                    }
                }

                if (allSaved)
                {
                    return(RedirectToAction(await Mvc.Activities.Actions.Index()));
                }
            }

            return(await Index());
        }
        /// <summary>
        /// Deletes the specified activity edit.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns></returns>
        public async virtual Task <JsonResult> Delete(int id)
        {
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(id);

            if (!BusinessRules.HasPermission(AuthorizationActions.DeleteObject, activityEdit))
            {
                return(Json(new { Result = "ERROR", Message = "You do not have access to delete this object." }));
            }

            activityEdit.Delete();
            await SaveObjectAsync(activityEdit, true);

            return(Json(new { Result = "OK" }));
        }
        public async Task UpdateActivity()
        {
            var newName      = "TestName";
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(1);

            var oldName = activityEdit.Name;

            activityEdit.Name = newName;

            activityEdit = (IActivityEdit)activityEdit.Save();

            Assert.AreEqual(newName, activityEdit.Name);

            //reset
            activityEdit.Name = oldName;
            activityEdit.Save();
        }
        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.");
        }
        public async Task <JsonResult> Update(int id)
        {
            var activityEdit = await ActivityEdit.GetActivityEditByIdAsync(id);

            TryUpdateModel(activityEdit);

            // Fixing issue with JTable where it doesn't send the form field if the value is false.
            if (!Request.Form.AllKeys.Contains("RequiresApproval"))
            {
                activityEdit.RequiresApproval = false;
            }

            if (!BusinessRules.HasPermission(AuthorizationActions.EditObject, activityEdit))
            {
                return(Json(new { Result = "ERROR", Message = "You do not have access to edit this object." }));
            }
            if (await SaveObjectAsync(activityEdit, true))
            {
                return(Json(new { Result = "OK" }));
            }

            return(Json(new { Result = "ERROR", Message = String.Join("<br />", ModelState.Values.SelectMany(ms => ms.Errors).Select(me => me.ErrorMessage)) }));
        }