Beispiel #1
0
        public async Task <PagedListResult <CourseItem> > GetPagedList(PageableListQuery query)
        {
            var lstCourse = await this.repository.GetPagedList(query);

            var lstCourseItem = new List <CourseItem>();

            foreach (var item in lstCourse.List)
            {
                var courseItem = new CourseItem()
                {
                    Id           = item.Id,
                    Name         = item.Name,
                    Code         = item.Code,
                    StudentItems = new List <StudentItem>()
                };

                foreach (var enrollment in item.Enrollments)
                {
                    var studentItem = new StudentItem()
                    {
                        Id    = enrollment.Student.Id,
                        Name  = enrollment.Student.Name,
                        Roll  = enrollment.Student.Roll,
                        Email = enrollment.Student.Email
                    };
                    courseItem.StudentItems.Add(studentItem);
                }

                lstCourseItem.Add(courseItem);
            }

            return(new PagedListResult <CourseItem>(lstCourseItem, lstCourseItem.Count));
        }
Beispiel #2
0
        public async Task <PagedListResult <Student> > GetPagedList(PageableListQuery query)
        {
            List <Student> students;
            int            count;

            if (!string.IsNullOrEmpty(query.SearchValue))
            {
                students = await this.context.Students
                           .Where("name.Contains(@0)", query.SearchValue)
                           .OrderBy("name asc")
                           .Skip(query.Offset.GetValueOrDefault())
                           .Take(query.Limit)
                           .ToListAsync();

                count = await this.context.Students.Where("name.Contains(@0)", query.SearchValue).CountAsync();
            }
            else
            {
                students = await this.context.Students
                           .OrderBy("name asc")
                           .Skip(query.Offset.GetValueOrDefault())
                           .Take(query.Limit)
                           .ToListAsync();

                count = await this.context.Students.CountAsync();
            }

            return(new PagedListResult <Student>(students, count));
        }
Beispiel #3
0
        public async Task <HttpResponseMessage> Get(PageableListQuery query)
        {
            query = query ?? new PageableListQuery();
            var students = await this.repositoryService.GetPagedList(query);

            return(this.Request.CreateResponse(
                       HttpStatusCode.OK, students));
        }
Beispiel #4
0
        public async Task <HttpResponseMessage> Get(PageableListQuery query)
        {
            query = query ?? new PageableListQuery();
            var students = await this.repository.GetPagedList(query);

            var list = Mapper.Map <IEnumerable <Student>, IEnumerable <StudentItem> >(students.List);

            return(this.Request.CreateResponse(
                       HttpStatusCode.OK, new PagedListResult <StudentItem>(list, students.Count)));
        }
        public async Task <HttpResponseMessage> Get(PageableListQuery query)
        {
            query = query ?? new PageableListQuery {
                Limit = 500
            };
            var courses = await this.repositoryService.GetPagedList(query);

            return(this.Request.CreateResponse(
                       HttpStatusCode.OK, courses));
        }
Beispiel #6
0
        public async Task <PagedListResult <CourseItem> > GetPagedList(PageableListQuery query)
        {
            var lstCourse = await this.repository.GetPagedList(query);

            var lstCourseItem = lstCourse.List.Select(item => new CourseItem
            {
                Id = item.Id, Name = item.Name
            }).ToList();

            return(new PagedListResult <CourseItem>(lstCourseItem, lstCourseItem.Count));
        }
Beispiel #7
0
        public async Task <PagedListResult <StudentItem> > GetPagedList(PageableListQuery query)
        {
            var students = await this.repository.GetPagedList(query);

            var studentItems = students.List.Select(item => new StudentItem
            {
                Id = item.Id, Name = item.Name, Phone = item.Phone
            }).ToList();

            return(new PagedListResult <StudentItem>(studentItems, students.Count));
        }
Beispiel #8
0
        public async Task <PagedListResult <Course> > GetPagedList(PageableListQuery query)
        {
            var courses = await this.context.Courses
                          .OrderBy("name asc")
                          .Skip(query.Offset.GetValueOrDefault())
                          .Take(query.Limit)
                          .ToListAsync();

            var count = await this.context.Courses.CountAsync();

            return(new PagedListResult <Course>(courses, count));
        }
        public async Task <PagedListResult <Student> > GetPagedList(PageableListQuery query)
        {
            var students = await this.context.Students

                           // .Where("name.Contains(@0)", "Em")
                           .OrderBy("name asc")
                           .Skip(query.Offset.GetValueOrDefault())
                           .Take(query.Limit)
                           .ToListAsync();

            var count = await this.context.Students.CountAsync();

            return(new PagedListResult <Student>(students, count));
        }
Beispiel #10
0
        public async Task <PagedListResult <TEntity> > GetPagedList(PageableListQuery query)
        {
            var entities = await this.dbSet

                           // .Where("name.Contains(@0)", "Em")
                           .OrderBy("name asc")
                           .Skip(query.Offset.GetValueOrDefault())
                           .Take(query.Limit)
                           .ToListAsync();

            var count = await this.dbSet.CountAsync();

            return(new PagedListResult <TEntity>(entities, count));
        }
Beispiel #11
0
        public async Task <PagedListResult <StudentItem> > GetPagedList(PageableListQuery query)
        {
            var studentItems = new List <StudentItem>();

            var students = await this.repository.GetPagedList(query);

            foreach (var item in students.List)
            {
                var studentItem = new StudentItem
                {
                    Id    = item.Id,
                    Name  = item.Name,
                    Roll  = item.Roll,
                    Email = item.Email
                };
                studentItems.Add(studentItem);
            }

            return(new PagedListResult <StudentItem>(studentItems, studentItems.Count));
        }
Beispiel #12
0
        static void Main(string[] args)
        {
            var builder = new ContainerBuilder();

            builder.RegisterType <DataContext>();
            builder.RegisterGeneric(typeof(GenericRepository <>)).As(typeof(IRepository <>));
            var container         = builder.Build();
            var dataContext       = container.Resolve <DataContext>();
            var studentRepository = container.Resolve <IRepository <Student> >();
            var courseRepository  = container.Resolve <IRepository <Course> >();

            Mapper.Initialize(
                cfg =>
            {
                cfg.CreateMap <StudentCreateItem, Student>().BeforeMap(
                    (s, d) =>
                {
                    s.CoursesList.ForEach(
                        x =>
                    {
                        d.Enrollments.Add(
                            new Enrollment
                        {
                            StudentId      = s.Id,
                            CourseId       = x,
                            EnrollmentDate = DateTime.Now
                        });
                    });
                });

                cfg.CreateMap <Student, StudentItem>()
                .ForMember(dest => dest.CourseItems, opt => opt.MapFrom(src => src.Enrollments));

                cfg.CreateMap <Enrollment, CourseItem>()
                .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.CourseId))
                .ForMember(dest => dest.Code, opt => opt.MapFrom(src => src.Course.Code))
                .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Course.Name));

                cfg.CreateMap <Enrollment, StudentItem>()
                .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.StudentId))
                .ForMember(dest => dest.Email, opt => opt.MapFrom(src => src.Student.Email))
                .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Student.Name))
                .ForMember(dest => dest.Roll, opt => opt.MapFrom(src => src.Student.Roll));

                cfg.CreateMap <Course, CourseItem>()
                .ForMember(dest => dest.StudentItems, opt => opt.MapFrom(src => src.Enrollments));
            });

            var course = dataContext.Courses.ToList();
            var cs     = Mapper.Map <IEnumerable <Course>, IEnumerable <CourseItem> >(course);

            var student = dataContext.Students.First(x => x.Id == 1);
            var stu     = Mapper.Map <StudentItem>(student);

            var query    = new PageableListQuery();
            var students = studentRepository.GetPagedList(query).Result;
            var ssdd     = Mapper.Map <IEnumerable <Student>, IEnumerable <StudentItem> >(students.List);

            new PagedListResult <StudentItem>(ssdd, 20);
            PagedListResult <StudentItem> listDest =
                Mapper.Map <PagedListResult <Student>, PagedListResult <StudentItem> >(students);

            Console.ReadLine();
        }