コード例 #1
0
        private ERAUserModel RegisterNewUser(ERAUserModel userModel)
        {
            ERAUserModel user       = null;
            var          userRepo   = unitOfWork.GetRepository <OnlineAssessmentUser>();
            var          userTypeID = (int)userModel.UserTypeId;

            if (userTypeID == 0 && !string.IsNullOrEmpty(userModel.UserType))
            {
                userTypeID = GetUserTypeIDByType(userModel.UserType);
            }
            else
            {
                userModel.UserType = GetUserTypeByID(userTypeID);
            }

            if (userTypeID != -1)
            {
                userModel.UserTypeId = Convert.ToByte(userTypeID);
                var newUser = DataToDomain.MapERAUserModelToUser(userModel);
                userRepo.Insert(newUser);
                unitOfWork.Save();
                user          = DataToDomain.MapUserToERAUserModel(newUser);
                user.UserType = userModel.UserType;
            }
            return(user);
        }
コード例 #2
0
        public async Task <ERAUserModel> ValidateUserCredential(ERAUserModel userModel)
        {
            ERAUserModel result       = null;
            var          userRepo     = unitOfWork.GetRepository <OnlineAssessmentUser>();
            var          userTypeRepo = unitOfWork.GetRepository <UserType>();
            var          userRiskRepo = unitOfWork.GetRepository <UserRisk>();
            var          user         = await Task.Run(() => userRepo.Get(x => x.Email == userModel.Email && x.Password == userModel.Password).FirstOrDefault());

            if (user != null)
            {
                result = DataToDomain.MapUserToERAUserModel(user);
                var userType = await Task.Run(() => userTypeRepo.Get(x => x.UserTypeId == user.UserTypeId).FirstOrDefault());

                if (userType != null)
                {
                    result.UserType = userType.UserTypeName;
                }
                var userRisk = userRiskRepo.Get(x => x.UserId == user.UserId).ToList();
                if (userRisk != null)
                {
                    var latestTestEntry = userRisk.Select(x => new { x.AssesmentDate, x.TestIdentifier }).OrderByDescending(x => x.AssesmentDate).FirstOrDefault();
                    if (latestTestEntry != null)
                    {
                        result.IsTestTaken          = true;
                        result.LastAssessmentDate   = latestTestEntry.AssesmentDate;
                        result.LatestTestIdentifier = latestTestEntry.TestIdentifier;
                    }
                    //result.LastTestTakenOn = lastCompetency.RatingDate;
                }
            }
            return(result);
        }
コード例 #3
0
        public async Task <Tuple <string, ERAUserModel, int> > GetUserProfile(ERAUserModel userModel)
        {
            ERAUserModel result   = null;
            int          status   = 0;
            var          message  = "";
            var          userRepo = unitOfWork.GetRepository <OnlineAssessmentUser>();

            if (userModel != null && userModel.UserId > 0)
            {
                var user = await Task.Run(() => userRepo.Get(x => x.UserId == userModel.UserId).FirstOrDefault());

                if (user == null)
                {
                    status  = -1;
                    message = "User does not exist!!";
                    result  = userModel;
                }
                else
                {
                    result = DataToDomain.MapUserToERAUserModel(user);
                    if (result != null)
                    {
                        status  = 1;
                        message = "User profile found!!";
                    }
                }
            }
            return(new Tuple <string, ERAUserModel, int>(message, result, status));
        }
コード例 #4
0
        public async Task <Tuple <string, ERAUserModel, int> > UpdateUserProfile(ERAUserModel userModel)
        {
            ERAUserModel result   = null;
            int          status   = 0;
            var          message  = "";
            var          userRepo = unitOfWork.GetRepository <OnlineAssessmentUser>();

            if (userModel != null && userModel.UserId > 0)
            {
                var user = await Task.Run(() => userRepo.Get(x => x.UserId == userModel.UserId).FirstOrDefault());

                if (user == null)
                {
                    status  = -1;
                    message = "User does not exist!!";
                    result  = userModel;
                }
                else
                {
                    var userEmail = await Task.Run(() => userRepo.Get(x => x.UserId != userModel.UserId && x.Email == userModel.Email).FirstOrDefault());

                    if (userEmail == null)
                    {
                        user.CompanyName    = userModel.CompanyName;
                        user.Email          = userModel.Email;
                        user.EmployeeNumber = userModel.EmployeeNumber;
                        user.FirstName      = userModel.FirstName;
                        user.LastName       = userModel.LastName;
                        user.Password       = userModel.Password;

                        userRepo.Update(user);
                        unitOfWork.Save();
                        result = DataToDomain.MapUserToERAUserModel(user);
                        if (result != null)
                        {
                            status  = 1;
                            message = "User profile updated successfully!!";
                        }
                    }
                    else
                    {
                        status  = -2;
                        message = "Email trying to update already exist.!!";
                    }
                }
            }
            log.LogDebug(message);
            return(new Tuple <string, ERAUserModel, int>(message, result, status));
        }
コード例 #5
0
 public static OnlineAssessmentUser MapERAUserModelToUser(ERAUserModel user)
 {
     return(new OnlineAssessmentUser()
     {
         Email = user.Email,
         EmployeeNumber = user.EmployeeNumber,
         Password = user.Password,
         FirstName = user.FirstName,
         LastName = user.LastName,
         RegisteredDate = user.RegisteredDate,
         CompanyName = user.CompanyName,
         UserId = user.UserId,
         UserTypeId = user.UserTypeId
     });
 }
コード例 #6
0
        public async Task <Tuple <string, ERAUserModel, int> > ValidateUserAndRegister(ERAUserModel userModel)
        {
            ERAUserModel result   = null;
            int          status   = 0;
            var          message  = "";
            var          userRepo = unitOfWork.GetRepository <OnlineAssessmentUser>();
            var          user     = await Task.Run(() => userRepo.Get(x => x.UserId == userModel.UserId).FirstOrDefault());

            if (user != null)
            {
                var userEmail = await Task.Run(() => userRepo.Get(x => x.Email == userModel.Email).FirstOrDefault());

                if (userEmail != null)
                {
                    status          = -1;
                    message         = "User already exist!!";
                    result          = DataToDomain.MapUserToERAUserModel(userEmail);
                    result.UserType = userModel.UserType;
                }
                else
                {
                    result = RegisterNewUser(userModel);
                    if (result != null)
                    {
                        status  = 1;
                        message = "User registered successfully!!";
                    }
                    else
                    {
                        message = "No user type found with user type name:" + userModel.UserType;
                    }
                }
            }
            else
            {
                var userEmail = await Task.Run(() => userRepo.Get(x => x.Email == userModel.Email).FirstOrDefault());

                if (userEmail != null)
                {
                    status          = -1;
                    message         = "User already exist!!";
                    result          = DataToDomain.MapUserToERAUserModel(userEmail);
                    result.UserType = userModel.UserType;
                }
                else
                {
                    result = RegisterNewUser(userModel);
                    if (result != null)
                    {
                        status  = 1;
                        message = "User registered successfully!!";
                    }
                    else
                    {
                        message = "No user type found with user type name:" + userModel.UserType;
                    }
                }
            }
            log.LogDebug(message);
            return(new Tuple <string, ERAUserModel, int>(message, result, status));
        }