public async Task Sets_schools_breadcrumb()
        {
            var model = new SchoolsViewModel(Mock.Of <IPublishedContent>(), Mock.Of <IUserService>())
            {
                Filter = new SchoolFilter()
            };
            var dataSource      = new Mock <ISchoolDataSource>();
            var listingsBuilder = new Mock <IListingsModelBuilder <School, SchoolFilter, SchoolsViewModel> >();

            listingsBuilder.Setup(x => x.BuildModel(
                                      It.IsAny <Func <SchoolsViewModel> >(),
                                      dataSource.Object.ReadTotalSchools,
                                      dataSource.Object.ReadSchools,
                                      Constants.Pages.Schools,
                                      _pageUrl,
                                      _queryString
                                      )).Returns(Task.FromResult(model));

            using (var controller = CreateController(dataSource.Object, listingsBuilder.Object))
            {
                var result = await controller.Index(new ContentModel(Mock.Of <IPublishedContent>())).ConfigureAwait(false);

                var breadcrumbs = (((ViewResult)result).Model as BaseViewModel).Breadcrumbs;
                Assert.Equal(2, breadcrumbs.Count);
                Assert.Equal(Constants.Pages.Home, breadcrumbs[0].Name);
                Assert.Equal(Constants.Pages.Schools, breadcrumbs[1].Name);
            }
        }
        public async Task Returns_SchoolsViewModel_from_builder()
        {
            var model = new SchoolsViewModel(Mock.Of <IPublishedContent>(), Mock.Of <IUserService>())
            {
                Filter = new SchoolFilter()
            };
            var dataSource      = new Mock <ISchoolDataSource>();
            var listingsBuilder = new Mock <IListingsModelBuilder <School, SchoolFilter, SchoolsViewModel> >();

            listingsBuilder.Setup(x => x.BuildModel(
                                      It.IsAny <Func <SchoolsViewModel> >(),
                                      dataSource.Object.ReadTotalSchools,
                                      dataSource.Object.ReadSchools,
                                      Constants.Pages.Schools,
                                      _pageUrl,
                                      _queryString
                                      )).Returns(Task.FromResult(model));

            using (var controller = CreateController(dataSource.Object, listingsBuilder.Object))
            {
                var result = await controller.Index(new ContentModel(Mock.Of <IPublishedContent>())).ConfigureAwait(false);

                listingsBuilder.Verify(x => x.BuildModel(
                                           It.IsAny <Func <SchoolsViewModel> >(),
                                           dataSource.Object.ReadTotalSchools,
                                           dataSource.Object.ReadSchools,
                                           Constants.Pages.Schools,
                                           _pageUrl,
                                           _queryString
                                           ), Times.Once);
                Assert.Equal(model, ((ViewResult)result).Model);
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> SearchSchools(string schoolName, string continent, string country,
                                                        string city, [FromQuery] int page = 1)
        {
            SchoolsViewModel schoolsList = new SchoolsViewModel();

            var query = _context.School
                        .Include(e => e.City)
                        .Include(e => e.Continent);

            var resultQuery = query.Where(e =>
                                          ((string.IsNullOrEmpty(schoolName) ? e.Id > 0 : e.Name.Contains(schoolName)) &&
                                           (string.IsNullOrEmpty(continent) ? e.Id > 0 : e.Continent.Name.Contains(continent)) &&
                                           (string.IsNullOrEmpty(city) ? e.Id > 0 : e.City.Name.Contains(city)) &&
                                           (string.IsNullOrEmpty(country) ? e.Id > 0 : e.Country.Contains(country))))
                              .ToList();

            var limitedResult = resultQuery
                                .Skip((page - 1) * pageSize)
                                .Take(pageSize);



            schoolsList.Schools     = limitedResult;
            schoolsList.CurrentPage = page;
            schoolsList.TotalPages  = (resultQuery.Count() / pageSize);

            return(View(schoolsList));
        }
Esempio n. 4
0
        public SchoolsViewModel All()
        {
            var schools = this.schoolsRepository.AllAsNoTracking()
                          .Select(x => new SingleSchoolViewModel
            {
                Id      = x.Id,
                Name    = x.Name,
                Address = x.Address,
            })
                          .ToList();

            foreach (var school in schools)
            {
                var posts = this.postsRepository.AllAsNoTracking()
                            .Where(x => x.Id == school.Id)
                            .Select(x => new SinglePostViewModel
                {
                    Id        = x.Id,
                    Title     = x.Title,
                    Content   = x.Content,
                    CreatedOn = x.CreatedOn,
                })
                            .ToList();

                school.Posts = posts;
            }

            var viewModel = new SchoolsViewModel
            {
                Schools = schools,
            };

            return(viewModel);
        }
        public SchoolSearchReturnViewModel Add([FromBody] SchoolsViewModel model)
        {
            try
            {
                Schools schools = new Schools();
                model.PeriodId = _IPeriods.PeriodId;
                model.Active   = true;

                schools.Type002 = "002";
                schools.Type003 = "003";
                schools.Type004 = "004";
                schools.Type006 = "006";
                Mapper.Map(model, schools);
                _context.Schools.Attach(schools);
                _context.SaveChanges();

                _context.SchoolsStatus.Attach(new SchoolsStatus()
                {
                    PeriodId   = _IPeriods.PeriodId,
                    Type001    = "001",
                    PeriodYear = _IPeriods.PeriodYear,
                    SchoolId   = schools.SchoolId,
                    StatusCode = model.StatusCode,
                    UserID     = model.UserID,
                });

                _context.SaveChanges();


                SchoolSearchReturnViewModel school = (from s in _context.Schools
                                                      where s.SchoolId == schools.SchoolId
                                                      select new SchoolSearchReturnViewModel
                {
                    SchoolId = s.SchoolId,
                    Name = s.Name
                }).First();

                return(school);
            }
            catch (Exception ex)
            {
                var error = ex.InnerException;
                return(new SchoolSearchReturnViewModel());
            }
        }
Esempio n. 6
0
        public void Update(SchoolsViewModel model)
        {
            var entity = new Schools();

            entity.MemberID      = model.MemberID;
            entity.TaxNumber     = model.TaxNumber;
            entity.SchoolName    = model.SchoolName;
            entity.ContactPerson = model.ContactPerson;
            entity.Country       = model.Country;
            entity.Address       = model.Address;
            entity.Phone         = model.Phone;
            entity.Email         = model.Email;
            entity.Website       = model.Website;
            entity.SocialMedia   = model.SocialMedia;
            entity.LoginName     = model.LoginName;

            entities.Schools.Attach(entity);
            entities.Entry(entity).State = EntityState.Modified;
            entities.SaveChanges();
        }
Esempio n. 7
0
        public void Create(SchoolsViewModel model)
        {
            Schools entity = new Schools()
            {
                MemberID      = model.MemberID,
                TaxNumber     = model.TaxNumber,
                SchoolName    = model.SchoolName,
                ContactPerson = model.ContactPerson,
                Country       = model.Country,
                Address       = model.Address,
                Phone         = model.Phone,
                Email         = model.Email,
                Website       = model.Website,
                SocialMedia   = model.SocialMedia,
                LoginName     = model.LoginName
            };

            entities.Schools.Add(entity);
            entities.SaveChanges();
        }
Esempio n. 8
0
        public IActionResult Index()
        {
            var schools = this.schoolsRepository.AllAsNoTrackingWithDeleted()
                          .Select(x => new SingleSchoolViewModel
            {
                Id         = x.Id,
                Name       = x.Name,
                CreatedOn  = x.CreatedOn,
                ModifiedOn = (System.DateTime)x.ModifiedOn,
                IsDeleted  = x.IsDeleted,
                DeletedOn  = (System.DateTime)x.DeletedOn,
            })
                          .ToList();

            var viewModel = new SchoolsViewModel
            {
                Schools = schools,
            };

            return(this.View(viewModel));
        }
        public bool Edit([FromBody] SchoolsViewModel model)
        {
            try
            {
                Schools         db = _context.Schools.Where(s => s.SchoolId == model.SchoolId).FirstOrDefault();
                SchoolsStatus   dbSchoolsStatus = _context.SchoolsStatus.Where(s => s.PeriodId == _IPeriods.PeriodId && s.PeriodYear == _IPeriods.PeriodYear && s.SchoolId == model.SchoolId).FirstOrDefault();
                SchoolsComments schoolsComments = _context.SchoolsComments.Where(s => s.PeriodId == _IPeriods.PeriodId && s.SchoolId == model.SchoolId).FirstOrDefault();


                if (model.Comments != null)
                {
                    if (schoolsComments == null)
                    {
                        schoolsComments          = new SchoolsComments();
                        schoolsComments.Comments = model.Comments;
                        schoolsComments.UserID   = model.UserID;
                        schoolsComments.SchoolId = model.SchoolId;
                        schoolsComments.PeriodId = _IPeriods.PeriodId;
                        _context.SchoolsComments.Add(schoolsComments);
                    }
                    else
                    {
                        schoolsComments.Comments = model.Comments;
                        schoolsComments.UserID   = model.UserID;
                        _context.SchoolsComments.Attach(schoolsComments);
                    }
                    _context.SaveChanges();
                }

                if (dbSchoolsStatus != null)
                {
                    if (dbSchoolsStatus.SchoolId == model.SchoolId)
                    {
                        Mapper.Map(model, dbSchoolsStatus);
                        dbSchoolsStatus.Type001    = "001";
                        dbSchoolsStatus.PeriodId   = _IPeriods.PeriodId;
                        dbSchoolsStatus.PeriodYear = _IPeriods.PeriodYear;
                        _context.SchoolsStatus.Update(dbSchoolsStatus);
                        _context.SaveChanges();
                    }
                }
                else
                {
                    _context.SchoolsStatus.Add(new SchoolsStatus()
                    {
                        PeriodId   = _IPeriods.PeriodId,
                        PeriodYear = _IPeriods.PeriodYear,
                        SchoolId   = model.SchoolId,
                        StatusCode = model.StatusCode,
                        UserID     = model.UserID,
                    });
                    _context.SaveChanges();
                }

                if (db.SchoolId == model.SchoolId)
                {
                    Mapper.Map(model, db);
                    db.PeriodId = _IPeriods.PeriodId;

                    _context.Schools.Update(db);
                    return(_context.SaveChanges() == 1 ? true : false);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex) {
                var error = ex.InnerException;
                return(false);
            }
        }