Пример #1
0
        public async Task <PaginatedViewInstances> GetNotAssignedInstances(int id, int page        = 0, String namefilter     = "",
                                                                           String serverNamefilter = "", String versionFilter = "", String sqlversions = "")
        {
            PaginatedInstances result = await unitOfWork.Users.GetNotAssignedInstancesAsync(id, page, namefilter, serverNamefilter, versionFilter, sqlversions);

            return(new PaginatedViewInstances(result));
        }
Пример #2
0
        public async Task <IHttpActionResult> GetAssigned(int id = 0, int page = 0, String namefilter = "",
                                                          String serverNamefilter = "", String versionFilter = "", String sqlversions = "")
        {
            InstanceRepository repository = new InstanceRepository(new MsSqlMonitorEntities());
            IListModelResponse <InstanceViewModel> response = new ListModelResponse <InstanceViewModel>();

            try
            {
                PaginatedInstances data = await repository.GetAssignedInstancesAsync(id, page, namefilter, serverNamefilter, versionFilter, sqlversions);

                response.Model = data.List.Select(i => i.ToViewModel());

                response.PagesCount = data.PageCount;
                response.PageNumber = data.Page;
                response.PageSize   = data.PageSize;
                response.Versions   = data.Versions;
            }
            catch (Exception e)
            {
                response.DidError     = true;
                response.ErrorMessage = e.Message;
            }

            return(response.ToHttpResponse(Request));
        }
Пример #3
0
 public PaginatedViewInstances(PaginatedInstances i)
 {
     PageSize   = i.PageSize;
     Page       = i.Page;
     PagesCount = i.PageCount;
     List       = i.List.Select(k => k.ToViewModel());
     Versions   = i.Versions;
     Error      = i.Error;
 }
Пример #4
0
        public async Task <PaginatedInstances> GetAssignedInstancesAsync(int userId, int page = 0, String namefilter = "", String serverNamefilter = "", String versionFilter = "", string sqlversions = "")
        {
            var result = new PaginatedInstances();

            try
            {
                List <int> assignedInstanceId = GetAssignedInstanceId(userId);
                var        listAll            = await instanceRepository.GetAllAsync();

                var instances = listAll.Where(g => assignedInstanceId.Any(i => i == g.Id) && CheckInstance(g, namefilter, serverNamefilter, versionFilter, sqlversions));


                int pageCount = instances.Count <Instance>() / PAGE_SIZE;
                if (pageCount * PAGE_SIZE < instances.Count <Instance>())
                {
                    pageCount++;
                }

                if (page > pageCount)
                {
                    page = pageCount;
                }
                if (page < 0)
                {
                    page = 0;
                }

                int startElement = page * PAGE_SIZE;

                var resultList = instances.Skip <Instance>(startElement).Take <Instance>(PAGE_SIZE);



                result.List      = resultList;
                result.Page      = page;
                result.PageCount = pageCount;
                result.PageSize  = PAGE_SIZE;
                result.Versions  = listAll.Where(i => i.InstanceVersion != null).Select <Instance, String>(i => i.InstanceVersion.Version.Split('.')[0]).ToList().Distinct();
            }
            catch (Exception e)
            {
                result.Error = e.Message;
            }

            return(result);
        }
Пример #5
0
        public async Task <PaginatedInstances> GetAssignedDeletedInstancesAsync(int userID, int page, string nameFilter, string serverNameFilter, string versionFilter, string sqlversions)
        {
            List <int> ids = await context.Assigns.Where(a => a.UserId == userID).Select(g => g.InstanceId).ToListAsync();

            var instances = await context.Instances.Where(g => ids.Any(i => i == g.Id && g.IsDeleted)).ToListAsync();

            PaginatedInstances result = new PaginatedInstances();

            var list = instances.Where(p => CheckInstance(p, nameFilter, serverNameFilter, versionFilter, sqlversions));

            int pageCount = list.Count <Instance>() / PAGE_SIZE;

            if (pageCount * PAGE_SIZE < list.Count <Instance>())
            {
                pageCount++;
            }

            if (page > pageCount)
            {
                page = pageCount;
            }
            if (page < 0)
            {
                page = 0;
            }

            int startElement = page * PAGE_SIZE;

            var resultList = list.Skip <Instance>(startElement).Take <Instance>(PAGE_SIZE);

            result.List      = resultList;
            result.Page      = page;
            result.PageCount = pageCount;
            result.PageSize  = PAGE_SIZE;
            result.Versions  = resultList.Where(i => i.InstanceVersion != null).Select <Instance, String>(i => i.InstanceVersion.Version.Split('.')[0]).ToList().Distinct();

            return(result);
        }
Пример #6
0
        public async Task <PaginatedInstances> GetDeletedInstancesAsync(int page, string nameFilter, string serverNameFilter, string versionFilter, string sqlversions)
        {
            var tmpList = await context.Instances.ToListAsync();

            PaginatedInstances result = new PaginatedInstances();

            var list = tmpList.Where(p => CheckInstance(p, nameFilter, serverNameFilter, versionFilter, sqlversions) && p.IsDeleted);

            int pageCount = list.Count <Instance>() / PAGE_SIZE;

            if (pageCount * PAGE_SIZE < list.Count <Instance>())
            {
                pageCount++;
            }

            if (page > pageCount)
            {
                page = pageCount;
            }
            if (page < 0)
            {
                page = 0;
            }

            int startElement = page * PAGE_SIZE;

            var resultList = list.Skip <Instance>(startElement).Take <Instance>(PAGE_SIZE);

            result.List      = resultList;
            result.Page      = page;
            result.PageCount = pageCount;
            result.PageSize  = PAGE_SIZE;
            result.Versions  = resultList.Where(i => i.InstanceVersion != null).Select <Instance, String>(i => i.InstanceVersion.Version.Split('.')[0]).ToList().Distinct();

            return(result);
        }