/// <summary> /// Get paged list of active or inactive user by Client id /// </summary> /// <param name="pagingInfo">pagingInfo object</param> /// <param name="ClientId">Id of the client</param> /// <param name="IsActive">TRUE OR False</param> /// <returns>Returns Active or Inactive user's paged list </returns> public static PageData <UserDTO> GetUserPagedListbyClientIdWithIsActive(PagingInfo pagingInfo, int ClientId, bool IsActive) { List <UserDTO> UserDTOList = new List <UserDTO>(); PageData <UserDTO> pageList = new PageData <UserDTO>(); if (pagingInfo == null) { PagingInfo PagingInfoCreated = new PagingInfo(); PagingInfoCreated.Page = 1; PagingInfoCreated.Reverse = false; PagingInfoCreated.ItemsPerPage = 1; PagingInfoCreated.Search = ""; PagingInfoCreated.TotalItem = 0; pagingInfo = PagingInfoCreated; } if (pagingInfo.SortBy == "") { pagingInfo.SortBy = "Name"; } UserDTOList = GetUsersbyClientIdWithIsActive(ClientId, pagingInfo.Search, IsActive, pagingInfo); IQueryable <UserDTO> UserDTOPagedList = UserDTOList.AsQueryable(); UnitOfWork uow = new UnitOfWork(); int count = 0; if (pagingInfo.Search != "" && pagingInfo.Search != null) { bool IsDate = CommonService.IsDate(pagingInfo.Search); if (IsDate != true) { //int LocationId = LocationService.GetByLocationName(pagingInfo.Search, ClientId); string LocationIdString = LocationService.GetLocationIdarrayByName(pagingInfo.Search, ClientId); count = 0; count = uow.UserRepo.GetAll().Where(e => (e.Email.ToLower().Contains(pagingInfo.Search.ToLower()) || e.Name.ToLower().Contains(pagingInfo.Search.ToLower()) || (e.Mobile != null ? (e.Mobile.Contains(pagingInfo.Search)) : false) || (LocationIdString != null ? (e.LocationId.ToString().Split(',').Any(LocationId => LocationIdString.Contains(LocationId))) : false)) && e.IsActive == IsActive && e.ClientId == ClientId).OrderBy(e => e.Name).Count(); } else { //DateTime date = Convert.ToDateTime(pagingInfo.Search); //count = 0; //count = uow.UserRepo.GetAll().Where(e => e.CreatedDate >= date && e.CreatedDate < date.AddDays(1) || e.ScheduledDate >= date && e.ScheduledDate < date.AddDays(1)).OrderByDescending(e => e.CreatedDate).Count(); } } else { count = uow.UserRepo.GetAll().Where(e => e.ClientId == ClientId && e.IsActive == IsActive).Count(); } ////Sorting UserDTOPagedList = PagingService.Sorting <UserDTO>(UserDTOPagedList, pagingInfo.SortBy, pagingInfo.Reverse); // paging if (UserDTOPagedList.Count() > 0) { //var ContacDTOPerPage = PagingService.Paging<UserDTO>(UserDTOPagedList, pagingInfo.ItemsPerPage, pagingInfo.Page); pageList.Count = count;// UserDTOPagedList.Count(); pageList.SuccessCount = GetActiveUserCount(ClientId); pageList.FailureCount = GetInactiveUserCount(ClientId); List <UserDTO> pagedClientUserDTOList = new List <UserDTO>(); foreach (var item in UserDTOPagedList) { pagedClientUserDTOList.Add(item); } pageList.Data = pagedClientUserDTOList; } else { pageList.Data = null; } return(pageList); }
/// <summary> /// Register Client /// </summary> /// <param name="RegisterClientDTO">RegisterClientDTO object</param> /// <returns>Register Client details </returns> public static RegisterClientDTO RegisterClient(RegisterClientDTO RegisterClientDTO) { try { GlobalSettings.LoggedInClientId = null; GlobalSettings.LoggedInUserId = null; GlobalSettings.LoggedInPartnerId = null; RegisterClientDTO.UserType = "Admin"; RegisterClientDTO RegisterClientDTONew = new RegisterClientDTO(); ClientDTO ClientDTO = new ClientDTO(); ClientDTO.Company = RegisterClientDTO.Company; ClientDTO.Address = RegisterClientDTO.Address; ClientDTO.IsDatabaseUploaded = false; ClientDTO ClientDTONew = new ClientDTO(); ClientDTONew = ClientService.Create(ClientDTO); GlobalSettings.LoggedInClientId = ClientDTONew.Id; LocationDTO LocationDTO = new LocationDTO(); LocationDTO.Name = RegisterClientDTO.Location; LocationDTO.ClientId = ClientDTONew.Id; int LocationId = 0; LocationId = LocationService.Create(LocationDTO); UserDTO UserDTO = new UserDTO(); //UserDTO.Name = RegisterClientDTO.Name; UserDTO.FirstName = RegisterClientDTO.FirstName; UserDTO.LastName = RegisterClientDTO.LastName; UserDTO.Email = RegisterClientDTO.Email; UserDTO.Password = RegisterClientDTO.Password; UserDTO.Mobile = RegisterClientDTO.Mobile; UserDTO.LocationId = LocationId; UserDTO.ClientId = ClientDTONew.Id; UserDTO UserDTONew = new UserDTO(); UserDTONew = UserService.Create(UserDTO); UserDTONew.UserType = "Admin"; UserDTONew.UserAccessPrivileges = UserService.GetUserAccess(UserDTONew.UserType.ToString()); GlobalSettings.LoggedInUserId = UserDTONew.Id; //Assign client values to Registerclient RegisterClientDTONew.Address = ClientDTONew.Address; RegisterClientDTONew.ClientId = ClientDTONew.Id; RegisterClientDTONew.Company = ClientDTONew.Company; //Assign user values to Registerclient RegisterClientDTONew.Email = UserDTONew.Email; RegisterClientDTONew.Mobile = UserDTONew.Mobile; //RegisterClientDTONew.Name = UserDTONew.Name; RegisterClientDTONew.FirstName = UserDTONew.FirstName; RegisterClientDTONew.LastName = UserDTONew.LastName; RegisterClientDTONew.Password = UserDTONew.Password; RegisterClientDTONew.Id = UserDTONew.Id; RegisterClientDTONew.UserAccessPrivileges = UserDTONew.UserAccessPrivileges; return(RegisterClientDTONew); } catch (msgBlasterValidationException) { throw; } catch (Exception) { //HttpContext.Current.Session["LoggedClient"] = null; //HttpContext.Current.Session["LoggedClientId"] = "0"; throw; } }
/// <summary> /// Get active or inactive Users by Client id /// </summary> /// <param name="ClientId">Id of the Client</param> /// <param name="search">search string</param> /// <param name="IsActive">TRUE OR FALSE</param> /// <param name="pagingInfo">pagingInfo object</param> /// <returns> Returns Active or Inactive user list </returns> public static List <UserDTO> GetUsersbyClientIdWithIsActive(int ClientId, string search, bool IsActive, PagingInfo pagingInfo) { List <UserDTO> UserDTOList = new List <UserDTO>(); try { UnitOfWork uow = new UnitOfWork(); int skip = (pagingInfo.Page - 1) * pagingInfo.ItemsPerPage; int take = pagingInfo.ItemsPerPage; IQueryable <User> User = uow.UserRepo.GetAll().Where(e => e.ClientId == ClientId && e.IsActive == IsActive).OrderBy(e => e.Name).AsQueryable();// .ToList().Skip(skip).Take(take); User = PagingService.Sorting <User>(User, pagingInfo.SortBy, pagingInfo.Reverse); User = User.Skip(skip).Take(take); if (User != null) { foreach (var user in User) { UserDTO UserDTO = new UserDTO(); UserDTO = Transform.UserToDTO(user); LocationDTO LocationDTO = new LocationDTO(); UserDTO.Location = LocationService.GetById(UserDTO.LocationId).Name; UserDTOList.Add(UserDTO); } if (search != "" && search != null) { //int LocationId = LocationService.GetByLocationName(search, ClientId); string LocationIdString = LocationService.GetLocationIdarrayByName(search, ClientId); bool IsDate = CommonService.IsDate(search); if (IsDate != true) { // string search List <UserDTO> UserDTOListSearch = new List <UserDTO>(); IQueryable <User> UserSearch = uow.UserRepo.GetAll().Where(e => (e.Email.ToLower().Contains(search.ToLower()) || e.Name.ToLower().Contains(search.ToLower()) || e.FirstName.ToLower().Contains(search.ToLower()) || e.LastName.ToLower().Contains(search.ToLower()) || (e.Mobile != null ? (e.Mobile.Contains(search)) : false) || (LocationIdString != null ? (e.LocationId.ToString().Split(',').Any(LocationId => LocationIdString.Contains(LocationId.ToString()))) : false)) && e.IsActive == IsActive && e.ClientId == ClientId).AsQueryable();//.OrderBy(e => e.Name).ToList().Skip(skip).Take(take); //(e.Location != null ? (e.Location.ToLower().Contains(search.ToLower())) : false) UserSearch = PagingService.Sorting <User>(UserSearch, pagingInfo.SortBy, pagingInfo.Reverse); UserSearch = UserSearch.Skip(skip).Take(take); foreach (var user in UserSearch) { UserDTO UserDTO = new UserDTO(); UserDTO = Transform.UserToDTO(user); LocationDTO LocationDTO = new LocationDTO(); UserDTO.Location = LocationService.GetById(UserDTO.LocationId).Name; UserDTOListSearch.Add(UserDTO); } return(UserDTOListSearch); } else { } } ////else ////{ //// ////foreach (var item in User) //// ////{ //// //// //UserDTO UserDTO = new UserDTO(); //// //// UserDTOList.Add(Transform.UserToDTO(item)); //// ////} ////} } return(UserDTOList); } catch (Exception) { throw; } }