public List <StudentModel> Get(string searchText, int itemsPerPage, int pageNumber, out int total)
        {
            List <Student> studentQuery = new List <Student>();

            //server side validation
            if (!string.IsNullOrWhiteSpace(searchText))
            {
                studentQuery = studentRepository.AsQueryable().Where(x => x.StudentId.ToString() == searchText || x.Name.ToString().Equals(searchText) || x.Name.Contains(searchText)).ToList();
            }
            else
            {
                studentQuery = studentRepository.AsQueryable().ToList();
            }

            total = studentQuery.Count();
            List <Student> students = studentQuery.OrderByDescending(x => x.StudentId).Skip((pageNumber - 1) * itemsPerPage).Take(itemsPerPage).ToList();

            List <StudentModel> studentModel = students.Select(x => new StudentModel
            {
                Id           = x.StudentId,
                Name         = x.Name,
                Phone        = x.Phone,
                Email        = x.Email,
                Organization = x.Organization,
                Address      = addessService.Show(x.StudentId),
            }).ToList();

            return(studentModel);
        }
Beispiel #2
0
        public async Task Put_Removes_Obsoleted_And_Removes_Usages_In_Organization()
        {
            //Arrange - make sure the latest KLE is imported, and then remove an entire root tree
            await PrepareForDetailedTest();

            var expectedTaskUsages = BuildTaskUsageIntegritySet().ToList();

            //Add some task refs which we expect to be removed
            MutateDatabase(db =>
            {
                using (var taskUsages = new GenericRepository <TaskUsage>(db))
                    using (var taskRefs = new GenericRepository <TaskRef>(db))
                    {
                        var other              = taskRefs.AsQueryable().First();
                        var objectOwnerId      = other.ObjectOwnerId;
                        var organizationUnitId = other.OwnedByOrganizationUnitId;
                        var taskRef1           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                        var taskRef2           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                        taskRefs.Save();

                        //Add usages which we expect to be removed
                        taskUsages.Insert(CreateTaskUsage(taskRef1, objectOwnerId, organizationUnitId));
                        taskUsages.Insert(CreateTaskUsage(taskRef2, objectOwnerId, organizationUnitId));
                        taskUsages.Save();
                    }
            });

            //Act
            await PutKle();

            //Assert
            VerifyTaskUsageIntegrity(expectedTaskUsages);
        }
Beispiel #3
0
 public virtual JsonResult GetList(int?page, int?total)
 {
     try
     {
         var res = _rep.AsQueryable().OrderBy(i => true).Skip(((int)page - 1) * 13).Take(13).ToList();
         return(Json(res, JsonRequestBehavior.AllowGet));
     }
     catch (Exception e)
     {
         throw new BusinessException("Error :" + e.Message);
     }
 }
Beispiel #4
0
        public async Task Put_Removes_Obsoleted_And_Removes_Usages_In_Systems()
        {
            //Arrange
            await PrepareForDetailedTest();

            var systemDto = await ItSystemHelper.CreateItSystemInOrganizationAsync(A <string>(), TestEnvironment.DefaultOrganizationId, AccessModifier.Public);

            //Add some task refs to a system and save the expected keys (keys not removed)
            MutateDatabase(context =>
            {
                using (var taskRefs = new GenericRepository <TaskRef>(context))
                    using (var systems = new GenericRepository <Core.DomainModel.ItSystem.ItSystem>(context))
                    {
                        var itSystem = systems.GetByKey(systemDto.Id);
                        var toKeep   = taskRefs.AsQueryable().Take(2).ToList();
                        toKeep.ForEach(itSystem.TaskRefs.Add);
                        systems.Save();
                    }
            });

            var expectedTaskRefs = GetSystemTaskKeys(systemDto.Id);

            Assert.Equal(2, expectedTaskRefs.Count);

            //Add the task refs subject to removal
            MutateDatabase(db =>
            {
                using (var systems = new GenericRepository <Core.DomainModel.ItSystem.ItSystem>(db))
                    using (var taskRefs = new GenericRepository <TaskRef>(db))
                    {
                        var other              = taskRefs.AsQueryable().First();
                        var objectOwnerId      = other.ObjectOwnerId;
                        var organizationUnitId = other.OwnedByOrganizationUnitId;
                        var taskRef1           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                        var taskRef2           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                        taskRefs.Save();

                        //Add usages which we expect to be removed
                        var itSystem = systems.GetByKey(systemDto.Id);
                        itSystem.TaskRefs.Add(taskRef1);
                        itSystem.TaskRefs.Add(taskRef2);
                        systems.Save();
                    }
            });

            //Act
            await PutKle();

            //Assert
            var actualTaskRefs = GetSystemTaskKeys(systemDto.Id);

            VerifyTaskRefUsageKeys(expectedTaskRefs, actualTaskRefs);
        }
Beispiel #5
0
        public async Task Put_Removes_Obsoleted_And_Removes_Usages_In_Projects()
        {
            //Arrange
            await PrepareForDetailedTest();

            var project = await ItProjectHelper.CreateProject(A <string>(), TestEnvironment.DefaultOrganizationId);

            //Add some task refs to a project and save the expected keys (keys not removed)
            MutateDatabase(context =>
            {
                using (var taskRefs = new GenericRepository <TaskRef>(context))
                    using (var projects = new GenericRepository <ItProject>(context))
                    {
                        var itProject = projects.GetByKey(project.Id);
                        var toKeep    = taskRefs.AsQueryable().Take(2).ToList();
                        toKeep.ForEach(itProject.TaskRefs.Add);
                        projects.Save();
                    }
            });

            var expectedTaskRefs = GetProjectTaskRefKeys(project.Id);

            Assert.Equal(2, expectedTaskRefs.Count);

            //Add the task refs subject to removal
            MutateDatabase(db =>
            {
                using (var projects = new GenericRepository <ItProject>(db))
                    using (var taskRefs = new GenericRepository <TaskRef>(db))
                    {
                        var other              = taskRefs.AsQueryable().First();
                        var objectOwnerId      = other.ObjectOwnerId;
                        var organizationUnitId = other.OwnedByOrganizationUnitId;
                        var taskRef1           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                        var taskRef2           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                        taskRefs.Save();

                        //Add usages which we expect to be removed
                        var itProject = projects.GetByKey(project.Id);
                        itProject.TaskRefs.Add(taskRef1);
                        itProject.TaskRefs.Add(taskRef2);
                        projects.Save();
                    }
            });

            //Act
            await PutKle();

            //Assert
            var actualTaskRefs = GetProjectTaskRefKeys(project.Id);

            VerifyTaskRefUsageKeys(expectedTaskRefs, actualTaskRefs);
        }
        public void ArticleWithIndexesIsNotReturnedWhenIndexIsNotInQuery()
        {
            var rep   = new GenericRepository <ArticleDefinition>();
            var guid1 = Guid.NewGuid();
            var guid2 = Guid.NewGuid();

            SetUp(new List <Guid> {
                guid1, guid2
            }, rep);
            var query = new List <Guid>()
            {
                Guid.NewGuid()
            };

            var result = rep.AsQueryable().Where(art => art.GetIndexes().Select(idx => idx.ReferenceId).Any(id => query.Contains(id))).ToList();

            Assert.AreEqual(0, result.Count);
        }
Beispiel #7
0
        public async Task Put_Removes_Obsoleted_And_Removes_Usages_And_Opt_Out_In_SystemUsages()
        {
            //Arrange
            await PrepareForDetailedTest();

            var systemDto = await ItSystemHelper.CreateItSystemInOrganizationAsync(A <string>(), TestEnvironment.DefaultOrganizationId, AccessModifier.Public);

            //Add some task refs to a system, and an opt out in the system usage as well as additional task refs
            MutateDatabase(context =>
            {
                using (var taskRefs = new GenericRepository <TaskRef>(context))
                    using (var systems = new GenericRepository <Core.DomainModel.ItSystem.ItSystem>(context))
                    {
                        var itSystem = systems.GetByKey(systemDto.Id);
                        var toKeep   = taskRefs.AsQueryable().OrderBy(x => x.Id).Take(2).ToList();
                        toKeep.ForEach(itSystem.TaskRefs.Add);
                        systems.Save();
                    }
            });

            //Take system into use and add additional task refs as well as an opt out
            var usage = await ItSystemHelper.TakeIntoUseAsync(systemDto.Id, TestEnvironment.DefaultOrganizationId);

            MutateDatabase(context =>
            {
                using (var taskRefs = new GenericRepository <TaskRef>(context))
                    using (var systems = new GenericRepository <ItSystemUsage>(context))
                    {
                        var systemUsage = systems.GetByKey(usage.Id);
                        var toOptOut    = taskRefs.AsQueryable().OrderBy(x => x.Id).Skip(1).First();
                        var additional  = taskRefs.AsQueryable().OrderBy(x => x.Id).Skip(2).First();
                        systemUsage.TaskRefs.Add(additional);
                        systemUsage.TaskRefsOptOut.Add(toOptOut);
                        systems.Save();
                    }
            });

            var(expectedTaskRefKeys, expectedInheritedKeys, expectedOptOutKeys) = GetSystemUsageTasks(usage.Id);
            Assert.Equal(1, expectedTaskRefKeys.Count);
            Assert.Equal(2, expectedInheritedKeys.Count);
            Assert.Equal(1, expectedOptOutKeys.Count);

            //Add some additional which will be removed by import .. both to main system, opt out and local
            MutateDatabase(db =>
            {
                using (var systems = new GenericRepository <Core.DomainModel.ItSystem.ItSystem>(db))
                    using (var usages = new GenericRepository <ItSystemUsage>(db))
                        using (var taskRefs = new GenericRepository <TaskRef>(db))
                        {
                            var reference          = taskRefs.AsQueryable().First();
                            var objectOwnerId      = reference.ObjectOwnerId;
                            var organizationUnitId = reference.OwnedByOrganizationUnitId;
                            var taskRef1           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                            var taskRef2           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                            var taskRef3           = taskRefs.Insert(CreateTaskRef(objectOwnerId, organizationUnitId));
                            taskRefs.Save();

                            //Add inherited key which should be removed
                            var system = systems.GetByKey(systemDto.Id);
                            system.TaskRefs.Add(taskRef1);
                            systems.Save();

                            //Add additional task ref and opt out which should be removed
                            var systemUsage = usages.GetByKey(usage.Id);
                            systemUsage.TaskRefs.Add(taskRef2);
                            systemUsage.TaskRefsOptOut.Add(taskRef3);
                            usages.Save();
                        }
            });

            //Act
            await PutKle();

            //Assert
            var(actualTaskRefKeys, actualInheritedKeys, actualOptOutKeys) = GetSystemUsageTasks(usage.Id);
            VerifyTaskRefUsageKeys(expectedTaskRefKeys, actualTaskRefKeys);
            VerifyTaskRefUsageKeys(expectedInheritedKeys, actualInheritedKeys);
            VerifyTaskRefUsageKeys(expectedOptOutKeys, actualOptOutKeys);
        }