Beispiel #1
0
 /// <summary>
 /// To convert userloging dto to domain model
 /// </summary>
 /// <param name="userLogin"></param>
 /// <param name="clientUsers"></param>
 /// <param name="isEdit"></param>
 private void MapClientUser(Business.UserLoginDTO userLogin, UserLogin clientUsers, bool isEdit)
 {
     clientUsers.UserId              = userLogin.UserId;
     clientUsers.FirstName           = userLogin.FirstName;
     clientUsers.LastName            = userLogin.LastName;
     clientUsers.Email               = userLogin.Email;
     clientUsers.UserName            = userLogin.Email;
     clientUsers.MobileNumber        = userLogin.MobileNumber;
     clientUsers.ModifiedDate        = DateTime.UtcNow;
     clientUsers.ModifiedBy          = userContext.UserId;
     clientUsers.RecordStatus        = userLogin.RecordStatus;
     clientUsers.RoleId              = _m3pactContext.Roles.FirstOrDefault(x => x.RoleCode == userLogin.RoleCode).RoleId;
     clientUsers.ForgotPasswordToken = userLogin.ForgotPasswordToken;
     clientUsers.Password            = userLogin.Password;
     if (!isEdit)
     {
         clientUsers.IsMeridianUser = userLogin.IsMeridianUser;
         clientUsers.CreatedDate    = DateTime.UtcNow;
         clientUsers.CreatedBy      = userContext.UserId;
     }
     //For M3 user we are setting SSO number as username.
     if (userLogin.IsMeridianUser == true)
     {
         clientUsers.UserName = _m3pactContext.Employee.FirstOrDefault(x => x.EmployeeId.ToString() == userLogin.UserId).Sso.ToString();
     }
 }
Beispiel #2
0
 /// <summary>
 /// Get User by userid or username
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="email"></param>
 /// <returns></returns>
 public Business.UserLoginDTO GetUser(string userID, string email = null)
 {
     try
     {
         Business.UserLoginDTO userDto   = new Business.UserLoginDTO();
         UserLogin             userLogin = _m3pactContext.UserLogin.FirstOrDefault(x => string.IsNullOrEmpty(userID) ? x.Email == email : x.UserId == userID);
         if (userLogin != null)
         {
             userDto.UserId              = userLogin.UserId.ToString();
             userDto.UserName            = userLogin.UserName;
             userDto.FirstName           = userLogin.FirstName;
             userDto.LastName            = userLogin.LastName;
             userDto.Email               = userLogin.Email;
             userDto.MobileNumber        = userLogin.MobileNumber;
             userDto.RoleName            = userLogin.Role?.RoleCode;
             userDto.RecordStatus        = userLogin.RecordStatus;
             userDto.Password            = userLogin.Password;
             userDto.ForgotPasswordToken = userLogin.ForgotPasswordToken;
             userDto.IsMeridianUser      = userLogin.IsMeridianUser;
             return(userDto);
         }
         return(null);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public Business.UserLoginDTO GetUserDetails(string userID)
        {
            try
            {
                Business.UserLoginDTO userDto = null;
                if (!string.IsNullOrEmpty(userID))
                {
                    UserLogin userlogin = (from u in _m3pactContext.UserLogin
                                           where u.UserId == userID
                                           select new UserLogin
                    {
                        UserId = u.UserId,
                        UserName = u.UserName,
                        FirstName = u.FirstName,
                        MiddleName = u.MiddleName,
                        LastName = u.LastName,
                        Email = u.Email,
                        UserClientMap = u.UserClientMap,
                        MobileNumber = u.MobileNumber,
                        RecordStatus = u.RecordStatus,
                        Password = u.Password,
                        ForgotPasswordToken = u.ForgotPasswordToken
                    }
                                           ).FirstOrDefault();

                    if (userlogin != null)
                    {
                        userDto                     = new Business.UserLoginDTO();
                        userDto.UserId              = userlogin.UserId.ToString();
                        userDto.FirstName           = userlogin.FirstName;
                        userDto.LastName            = userlogin.LastName;
                        userDto.Email               = userlogin.Email;
                        userDto.MobileNumber        = userlogin.MobileNumber;
                        userDto.RoleName            = userlogin.Role?.RoleCode;
                        userDto.RecordStatus        = userlogin.RecordStatus;
                        userDto.Password            = userlogin.Password;
                        userDto.ForgotPasswordToken = userlogin.ForgotPasswordToken;
                        if (userlogin.UserClientMap != null)
                        {
                            foreach (UserClientMap userClient in userlogin.UserClientMap)
                            {
                                Client client = _m3pactContext.Client.FirstOrDefault(x => x.ClientId == userClient.ClientId);
                                Business.ClientDetails clientDetails = new Business.ClientDetails();
                                clientDetails.ClientCode = client.ClientCode;
                                clientDetails.Name       = client.Name;
                                userDto.Client.Add(clientDetails);
                            }
                        }
                    }
                }
                return(userDto);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #4
0
 /// <summary>
 /// updates password
 /// </summary>
 /// <param name="userDto"></param>
 /// <returns></returns>
 public bool UpdatePassword(Business.UserLoginDTO userDto)
 {
     Domain.UserLogin user = _m3pactContext.UserLogin.FirstOrDefault(x => x.UserId == userDto.UserId);
     if (user != null)
     {
         user.Password            = userDto.Password;
         user.ForgotPasswordToken = userDto.ForgotPasswordToken;
         user.LastPasswordChanged = userDto.LastPasswordChanged;
         user.ModifiedBy          = userContext.UserId;
         user.ModifiedDate        = DateTime.UtcNow;
         _m3pactContext.Update(user);
         return(_m3pactContext.SaveChanges() > 0);
     }
     return(false);
 }
Beispiel #5
0
        /// <summary>
        /// To prepare removable and insertable UserClientMaps
        /// </summary>
        /// <param name="userLogin"></param>
        /// <param name="clientUsers"></param>
        /// <param name="clientIdList"></param>
        /// <param name="removableClientMaps"></param>
        /// <param name="insertableClients"></param>
        /// <returns></returns>
        private void PrepareChangedClientMaps(Business.UserLoginDTO userLogin, UserLogin clientUsers, List <int> clientIdList, List <int> insertableClients)
        {
            List <int> loggedInUserClientMapping            = new List <int>();
            List <Domain.UserClientMap> userclientMaping    = new List <UserClientMap>();
            List <Domain.UserClientMap> removableClientMaps = new List <UserClientMap>();
            UserContext userContext = UserHelper.getUserContext();

            if (!string.IsNullOrEmpty(userContext.UserId))
            {
                if (userLogin.RoleCode != RoleType.Admin.ToString())
                {
                    string loggedinUserRoleCode = userContext.Role;
                    if (loggedinUserRoleCode == RoleType.Admin.ToString())
                    {
                        loggedInUserClientMapping = _m3pactContext.Client.Where(c => c.IsActive == DomainConstants.RecordStatusActive).Select(x => x.ClientId).ToList();
                    }
                    else
                    {
                        loggedInUserClientMapping = (from uc in _m3pactContext.UserClientMap
                                                     join u in _m3pactContext.UserLogin
                                                     on uc.UserId equals u.Id
                                                     where u.UserId == userContext.UserId &&
                                                     uc.RecordStatus == DomainConstants.RecordStatusActive
                                                     select uc.ClientId).ToList();
                    }
                    userclientMaping = _m3pactContext.UserClientMap.Where(x => x.UserId == clientUsers.Id &&
                                                                          loggedInUserClientMapping.Contains(x.ClientId)).ToList();
                }
                else
                {
                    userclientMaping = _m3pactContext.UserClientMap.Where(x => x.UserId == clientUsers.Id).ToList();
                }
                //Getting removable cleints which were existing in db and not present in the list which passed from UI
                removableClientMaps = userclientMaping.Where(x => !(clientIdList.Contains(x.ClientId))).ToList();
                if (removableClientMaps != null && removableClientMaps.Count > 0)
                {
                    _m3pactContext.RemoveRange(removableClientMaps);
                }
                //Getting adding cleints which were not existing in db and present in the list which passed from UI
                foreach (int id in clientIdList)
                {
                    if (!(userclientMaping.Exists(x => x.ClientId == id)))
                    {
                        insertableClients.Add(id);
                    }
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// Saves client User
        /// </summary>
        /// <param name="userLogin"></param>
        /// <returns></returns>
        public bool SaveUser(Business.UserLoginDTO userLogin)
        {
            try
            {
                List <Domain.UserClientMap> userClientMapList  = new List <DomainModel.DomainModels.UserClientMap>();
                Domain.UserLogin            existingClientUser = _m3pactContext.UserLogin.FirstOrDefault(x => x.UserId == userLogin.UserId);

                List <int> clientIdList = new List <int>();
                if (userLogin.Client.Count > 0)
                {
                    foreach (Business.ClientDetails client in userLogin.Client)
                    {
                        clientIdList.Add(_m3pactContext.Client.FirstOrDefault(x => x.ClientCode == client.ClientCode).ClientId);
                    }
                }
                if (existingClientUser != null)
                {
                    List <int> insertableClients = new List <int>();
                    MapClientUser(userLogin, existingClientUser, true);
                    PrepareChangedClientMaps(userLogin, existingClientUser, clientIdList, insertableClients);
                    userClientMapList = MapUserClientMap(existingClientUser, insertableClients);
                    _m3pactContext.UserClientMap.AddRange(userClientMapList);
                }
                else
                {
                    Domain.UserLogin insertableClientUser = new Domain.UserLogin();
                    MapClientUser(userLogin, insertableClientUser, false);
                    _m3pactContext.UserLogin.Add(insertableClientUser);

                    userClientMapList = MapUserClientMap(insertableClientUser, clientIdList);
                    _m3pactContext.UserClientMap.AddRange(userClientMapList);
                }

                int i = _m3pactContext.SaveChanges();
                return(i > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }