Esempio n. 1
0
        private static void StartJob(string taskName, string how, UserActivityRepository <UserActivity> activityRepository)
        {
            var userActivity = CreateAuditRecord(
                string.Format("{0} invoked {1:r} {2}", taskName, DateTime.Now, how), how);

            activityRepository.Add(userActivity);
        }
Esempio n. 2
0
        private static void EndJob(string taskName, UserActivityRepository <UserActivity> activityRepository)
        {
            var userActivity = CreateAuditRecord(
                string.Format("{0} completed {1:r}", taskName, DateTime.Now), BatchUser);

            activityRepository.Add(userActivity);
        }
Esempio n. 3
0
        public void TestUserActivityStringOverflow()
        {
            var _activityRepository = new UserActivityRepository <UserActivity>();
            var userActivity        = new UserActivity
            {
                UserId    = "1234567890-the rest is superflus",
                Activity  = "123456789012345678901234567890123456789012345678901234567890-superfluous",
                CreatedBy = "UnitTest"
            };

            _activityRepository.Add(userActivity);
            Assert.IsTrue(true);
        }
Esempio n. 4
0
        public void AuditActivity(string activity, string userId)
        {
            if (string.IsNullOrEmpty(activity))
            {
                return;
            }

            var userActivity = new UserActivity
            {
                Activity = activity,
                UserId   = userId ?? "not passed"
            };
            var activityRepository = new UserActivityRepository <UserActivity>();

            activityRepository.Add(userActivity);
        }
        private ComplianceIndicatorsViewModel GenerateProgrammeIndicators(ComplianceIndicatorsViewModel vm)
        {
            vm = ClearTheView(vm);
            var countList = new Dictionary <string, CountStat>();

            var projectList = projectRepository.GetAll(new DateTime(1, 1, 1), new DateTime(1, 1, 1));

            foreach (var project in projectList)
            {
                var projectProgrammeList = projectContractRepository.GetAllByProjectId(project.ProjectId);
                vm.ProjectsRead++;
                var reviewList = reviewRepository.GetAllByProjectId(project.ProjectId);

                foreach (var review in reviewList)
                {
                    //if ( ( review.OrgCode != "BALT" ) || review.ESACode != "4TWE" || review.Quarter() != "20122" ) continue;  //TODO:  take this away its just to speed testing
                    //if ( ( review.OrgCode != "LEON" ) || review.ESACode != "4ONB" || review.Quarter() != "20114"
                    //	|| (review.ProjectId != 255 && review.ProjectId != 333 ) ) continue;  //TODO:  take this away its just to speed testing
                    ProcessReview(vm, review, countList, project, projectProgrammeList);
                }
            }
#if DEBUG
            //  for proof of calculation
            foreach (var pair in countList)
            {
                var ciLine = string.Format("Key:{0} - {1} - {2}", pair.Key, pair.Value, pair.Value.ReviewList());
                var ua     = new UserActivity {
                    Activity = ciLine, UserId = "CI-GEN"
                };
                activityRepository.Add(ua);
            }
#endif
            StoreIndicators(countList, vm);

            return(vm);
        }
Esempio n. 6
0
        public IHttpActionResult ModifyAccount(string userId, AccountDetailsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                BadRequest("Model state is not valid");
            }
            bool bIsModified = false;
            var  user        = UserManager.Users.Include("Roles.Role").SingleOrDefault(x => x.Id == userId);

            if (user == null)
            {
                BadRequest("User not found.");
            }
            if (user.EmailConfirmed != model.EmailConfirmed)
            {
                user.EmailConfirmed = model.EmailConfirmed;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }


            // Modify User
            if (user.Email != model.Email || user.UserName != model.Email)
            {
                user.Email    = model.Email;
                user.UserName = model.Email;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }

            // First Name
            if (user.FirstName != model.FirstName)
            {
                user.FirstName = model.FirstName;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }

            // Last Name
            if (user.LastName != model.LastName)
            {
                user.LastName = model.LastName;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }

            // PhoneNumber
            if (user.PhoneNumber != model.PhoneNumber)
            {
                user.PhoneNumber = model.PhoneNumber;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }

            // PhoneNumberConfirmed
            if (user.PhoneNumberConfirmed != model.PhoneNumberConfirmed)
            {
                user.PhoneNumberConfirmed = model.PhoneNumberConfirmed;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }

            // Twofactor enabled
            if (user.TwoFactorEnabled != model.TwoFactorEnabled)
            {
                user.TwoFactorEnabled = model.TwoFactorEnabled;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    bIsModified = true;
                }
            }

            // Account disabled
            if (user.Disabled != model.Disabled)
            {
                user.Disabled = model.Disabled;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    //audit
                    int sDisabled = UserActionIds.Enable;
                    if (model.Disabled)
                    {
                        sDisabled = UserActionIds.Disable;
                    }
                    ;
                    var userActivity = new UserActivity()
                    {
                        ActionId   = sDisabled,
                        ActionType = ActionTypes.Admin,
                        UserName   = model.Email
                    };

                    try
                    {
                        _userActivityRepository.Add(userActivity);
                    }
                    catch
                    {
                        //TODO - send email here
                    }
                }
            }

            // Account deleted
            if (user.Deleted != model.Deleted)
            {
                user.Deleted = model.Deleted;
                var userUpdated = UserManager.Update(user);

                if (!userUpdated.Succeeded)
                {
                    return(GetErrorResult(userUpdated));
                }
                else
                {
                    //audit
                    int sDeleted = UserActionIds.UnDelete;
                    if (model.Deleted)
                    {
                        sDeleted = UserActionIds.Delete;
                    }
                    ;
                    var userActivity = new UserActivity()
                    {
                        ActionId   = sDeleted,
                        ActionType = ActionTypes.Admin,
                        UserName   = model.Email
                    };

                    try
                    {
                        _userActivityRepository.Add(userActivity);
                    }
                    catch
                    {
                        //TODO - send email here
                    }
                }
            }


            // Add Roles
            foreach (var role in model.Roles)
            {
                if (user.Roles.All(x => x.Role.Name != role.Name))
                {
                    var addResult = UserManager.AddToRole(user.Id, role.Name);
                    if (!addResult.Succeeded)
                    {
                        return(GetErrorResult(addResult));
                    }
                    else
                    {
                        bIsModified = true;
                    }
                }
            }

            // Remove
            foreach (var role in user.Roles.ToList())
            {
                if (model.Roles.All(x => x.Name != role.Role.Name))
                {
                    var removeResult = UserManager.RemoveFromRole(user.Id, role.Role.Name);
                    if (!removeResult.Succeeded)
                    {
                        return(GetErrorResult(removeResult));
                    }
                    else
                    {
                        bIsModified = true;
                    }
                }
            }

            if (bIsModified)
            {
                var userActivity = new UserActivity()
                {
                    ActionId   = UserActionIds.Updated,
                    ActionType = ActionTypes.Admin,
                    UserName   = model.Email
                };

                try
                {
                    _userActivityRepository.Add(userActivity);
                }
                catch
                {
                    //TODO - send email here
                }
            }


            return(Ok());
        }