예제 #1
0
        public GridViewModel GetRoleSearchResult(SearchRequest request, bool isPharmixAdmin)
        {
            var model = UserMapper.CreateRoleGridViewModel();
            //var roles = _repository.GetAll<IdentityRole>().ToList(); //_context.Roles.ToList();
            var roles = _context.Roles.ToList();

            var roleViewModelList = Mapper.Map <List <IdentityRole>, List <RoleViewModel> >(roles);

            roleViewModelList = roleViewModelList.Select((x, i) => { x.TempId = i + 1; return(x); }).ToList();

            if (!isPharmixAdmin)
            {
                roleViewModelList = roleViewModelList.Where(x => !_excludeManageRoles.Contains(x.Name)).ToList();
            }


            var pageResult  = QueryListHelper.SortViewModelResults(roleViewModelList, request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.Name.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(x => UserMapper.BindRoleGridData(x));

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #2
0
        public GridViewModel GetSearchResult(SearchRequest request, string userName, bool isPharmixAdmin)
        {
            var user = _userManager.FindByNameAsync(userName).Result;

            var isTrustAdmin = user != null && _userManager.IsInRoleAsync(user, _trustAdminRole).Result;

            UpdateUserTempIdCache();
            var model = UserMapper.CreateGridViewModel();

            List <UserViewModel> users = new List <UserViewModel>();

            //bool isPharmixAdmin = IsPharmixAdmin(userName);
            if (isPharmixAdmin)
            {
                List <string> trustAdminRoles = new List <string>()
                {
                    _trustAdminRole
                };
                users = GetUsersByRoles(trustAdminRoles).Result.MapToViewModelList();
            }
            else
            {               //Trust Admin
                List <string> rolesToExclude = new List <string>();

                rolesToExclude.Add(PharmixStaticHelper.SuperAdminRoleName);
                rolesToExclude.Add("Admin");
                rolesToExclude = _userManager.GetRolesAsync(user).Result.ToList();

                users = (from u in _context.Users
                         join ur in _context.UserRoles on u.Id equals ur.UserId into urdef
                         from ur in urdef.DefaultIfEmpty()
                         join r in _context.Roles on ur.RoleId equals r.Id into rdef
                         from r in rdef.DefaultIfEmpty()
                         where r == null || !rolesToExclude.Contains(r.Name)      //Donot allow change same level of users
                         select new UserViewModel
                {
                    Id = u.Id,
                    Name = u.UserName,
                    Email = u.Email,
                    FirstName = u.FirstName,
                    SurName = u.Surname,
                    MobileNumber = u.MobileNumber
                }).ToList();
            }
            users = UpdateTempID(users.ToList());

            var pageResult  = QueryListHelper.SortViewModelResults(users, request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.Email.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(x => UserMapper.BindGridData(x, isTrustAdmin));

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #3
0
        public GridViewModel GetSearchResult(SearchRequest request, string user)
        {
            var model = Business_SubscriptionMapper.CreateGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllBusiness_Subscription(), request);
            var serviceRows = pageResult.Where(p => p.IdentityUserId == user).Select(Business_SubscriptionMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #4
0
        public GridViewModel GetUsedProdSearchResult(SearchRequest request, int orderId)
        {
            var model = IntegrationOrderMapper.CreateUsedProdGridViewModel();

            var pageResult = QueryListHelper.SortResults(GetAllUsedProductByOrderId(orderId), request);
            var rows       = pageResult
                             .Where(p => string.IsNullOrEmpty(request.SearchText) || p.CustomName.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                             .Select(IntegrationOrderMapper.BindUsedProdGridData);

            model.Rows = rows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #5
0
        public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model = PackagePlanMapper.CreateGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllPackagePlans(), request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.PackageName.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(PackagePlanMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #6
0
        public GridViewModel GetDepartmentSearchResult(SearchRequest request, int trustId)
        {
            var model = UserMapper.CreateDepartmentGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllDepartmentsByTrustId(trustId), request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.DepartmentName.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(UserMapper.BindDepartmentGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #7
0
        public GridViewModel GetProcedureSearchResult(SearchRequest request)
        {
            var model = IsolatorMapper.CreateProcedureGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllProcedures(), request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.Description.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(IsolatorMapper.BindProcedureGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #8
0
        public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model = IntegrationOrderMapper.CreateGridViewModel();
            var getAllIntegrationOrder = _repository.GetContext().IntegrationOrders
                                         .Where(p => !p.IsArchived && p.OrderLastProgressId != (int)OrderProgressEnum.Approved);

            var pageResult  = QueryListHelper.SortResults(getAllIntegrationOrder, request);
            var serviceRows = pageResult
                              .Select(IntegrationOrderMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #9
0
        public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model         = PatientMapper.CreateGridViewModel();
            var getAllPatient = _repository.GetContext().Patients
                                .Where(p => !p.IsArchived);

            var pageResult  = QueryListHelper.SortResults(getAllPatient, request);
            var serviceRows = pageResult
                              .Select(PatientMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #10
0
        public GridBoxViewModel GetOrderSearchResult(SearchRequest request)
        {
            var model = IsolatorMapper.CreateOrderGridViewModel();

            var orders = repository.GetAll <IntegrationOrder>().Where(p => p.OrderLastProgressId == (int)OrderProgressEnum.Scheduled && !p.IsArchived);

            var pageResult  = QueryListHelper.SortResults(orders, request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.Name.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(IsolatorMapper.BindOrderGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #11
0
        public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model         = PatientMapper.CreateGridViewModel();
            var getAllPatient = _repository.GetContext().Patients
                                .Include(p => p.Gender)
                                .Where(p => !p.IsArchived);

            var pageResult  = QueryListHelper.SortResults(getAllPatient, request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.GetDisplayName().ToLowerInvariant().Contains(request.SearchText.ToLowerInvariant()))
                              .Select(PatientMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #12
0
        public GridViewModel GetVtmSearchResult(SearchRequest request)
        {
            var model = IntegrationOrderMapper.CreateVtmGridViewModel();

            var vtms = repository.GetContext().Vtms
                       .Include(p => p.DmdRoute)
                       .Include(p => p.DmdSupplier)
                       .Where(p => !p.IsArchived);

            var pageResult  = QueryListHelper.SortResults(vtms, request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.DrugName.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(IntegrationOrderMapper.BindVtmGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #13
0
        public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model = BusinessMapper.CreateGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllSites(), request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.BusinessName.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.ContactPerson.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.ContactEmail.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.ContactPhone.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.City.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.Postcode.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(BusinessMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #14
0
        public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model = CustomerMapper.CreateGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllCustomers(), request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.Name.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(CustomerMapper.BindGridData);

            try
            {
                model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);
            }
            catch (Exception ex)
            {
                throw;
            }

            return(model);
        }
예제 #15
0
        public GridViewModel GetSearchResult(SearchRequest request, bool isSupervisorRequest, string currentUser)
        {
            var model = SupervisorRequestMapper.CreateGridViewModel();
            var getAllSupervisorRequests = _repository.GetContext().SupervisorRequest.Include(p => p.Isolator).Where(p => !p.IsArchived && (isSupervisorRequest || p.RequestedBy == currentUser));

            var pageResult  = QueryListHelper.SortResults(getAllSupervisorRequests, request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) ||
                                     p.Title.Contains(request.SearchText, StringComparison.OrdinalIgnoreCase) ||
                                     Enum.GetName(typeof(RequestStatusEnum), p.LatestRequestStatus).Contains(request.SearchText, StringComparison.OrdinalIgnoreCase) ||
                                     Enum.GetName(typeof(RequsetPriorityEnum), p.Priority).Contains(request.SearchText, StringComparison.OrdinalIgnoreCase) ||
                                     p.Isolator.Abbriviation.Contains(request.SearchText, StringComparison.OrdinalIgnoreCase)
                                     //p.RequestType.Type.Contains(request.SearchText, StringComparison.OrdinalIgnoreCase)
                                     )
                              .Select(item => SupervisorRequestMapper.BindGridData(item, isSupervisorRequest));

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }
예제 #16
0
        public GridViewModel GetSearchResult(SearchRequest request, int customerId)
        {
            var model = LoanMapper.CreateGridViewModel();
            IEnumerable <Loan> pageResult;

            if (customerId <= 0)
            {
                pageResult = QueryListHelper.SortResults(GetAllLoans(), request);
            }
            else
            {
                pageResult = QueryListHelper.SortResults(GetLoansByCustomer(customerId), request);
            }
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.Name.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(LoanMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }