public ActionResult Create(
            [Bind(Include = "ClubName,CreationDate,StudentID")]
            ClubViewModel clubView)
        {
            if (ModelState.IsValid)
            {
                // Create a new Club
                Club newClub = new Club
                {
                    ClubName     = clubView.ClubName,
                    CreationDate = clubView.CreationDate,
                    clubMembers  = new List <Member>
                    {
                        new Member {
                            approved = true, StudentID = clubView.StudentID,
                            // Need to fill this for Application User later on
                            studentMember = db.Students.First(s => s.StudentID == clubView.StudentID)
                        }
                    }
                };
                // Adding the Club updates the Reference Field
                db.Clubs.Add(newClub);
                db.SaveChanges();
                newClub.adminID = newClub.clubMembers.First().MemberID;
                CreateApplicationLogin(newClub.clubMembers.First());
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(clubView));
        }
Exemplo n.º 2
0
        public ActionResult Edit([Bind(Include = "ID,Brand,Price,ClubTypeID, ClubType, SelectedCategoryIs")] ClubViewModel clubVM)
        {
            if (clubVM == null)
            {
                throw new ArgumentNullException(nameof(clubVM));
            }

            if (ModelState.IsValid)
            {
                Club m = new Club()
                {
                    ID         = clubVM.ID,
                    Brand      = clubVM.Brand,
                    Price      = clubVM.Price,
                    ClubTypeID = clubVM.ClubTypeID,
                    ClubType   = clubVM.ClubType,
                    Categories = db.Categories.Where(c => clubVM.SelectedCategoryIds.Contains(c.ID)).ToList()
                };
                db.Entry(m).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            //ViewBag.Categories = new SelectList(db.Categories, "CategoryName", clubVM.Categories);
            clubVM.AllCategories = db.Categories.Select(c => new SelectListItem {
                Text = c.CategoryName, Value = c.ID.ToString()
            }).ToList();
            return(View(clubVM));
        }
Exemplo n.º 3
0
        public IActionResult CreateClub(ClubViewModel model, IFormFile file)
        {
            try
            {
                if (file != null && file.Length > 0)
                {
                    var img     = Image.FromStream(file.OpenReadStream());
                    var uploads = Path.Combine(_env.WebRootPath, "images\\Club");

                    var fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
                    var filePath = Path.Combine(uploads, fileName);
                    img.Save(filePath);
                    model.Club.Logo = fileName;
                }
                else
                {
                    model.Club.Logo = null;
                }
                _repoWrapper.Club.Create(model.Club);
                _repoWrapper.Save();
                return(RedirectToAction("Club", new { index = model.Club.ID }));
            }
            catch (Exception e)
            {
                return(RedirectToAction("HandleError", "Error", new { code = 505 }));
            }
        }
Exemplo n.º 4
0
        public ActionResult Details(int id, string name)
        {
            var s = new Service.ClubService();

            ClubViewModel club = s.GetClubViewById(id);

            if (club == null)
            {
                return(NotFound());
            }

            string sortField = Request.QueryString["SorteerOp"];
            string sortDir   = Request.QueryString["Richting"];

            if (!String.IsNullOrEmpty(sortField))
            {
                if (String.IsNullOrEmpty(sortDir))
                {
                    sortDir = "Oplopend";
                }

                switch (sortField)
                {
                case "Seizoen":
                    if (sortDir.Equals("Oplopend"))
                    {
                        club.seasons = club.seasons.OrderBy(m => m.seasonYear).ThenBy(m => m.seasonPeriod).ToList();
                    }
                    else
                    {
                        club.seasons = club.seasons.OrderByDescending(m => m.seasonYear).ThenByDescending(m => m.seasonPeriod).ToList();
                    }
                    break;

                case "Teams":
                    if (sortDir.Equals("Oplopend"))
                    {
                        club.seasons = club.seasons.OrderBy(m => m.teams).ToList();
                    }
                    else
                    {
                        club.seasons = club.seasons.OrderByDescending(m => m.teams).ToList();
                    }
                    break;

                case "Spelers":
                    if (sortDir.Equals("Oplopend"))
                    {
                        club.seasons = club.seasons.OrderBy(m => m.players).ToList();
                    }
                    else
                    {
                        club.seasons = club.seasons.OrderByDescending(m => m.players).ToList();
                    }
                    break;
                }
            }

            return(View(club));
        }
        // GET: Club/Create
        public ActionResult Create()
        {
            var model = new ClubViewModel();

            ViewBag.EventsList = new SelectList(_dropDownService.GetEvents(), "id", "name", null);
            return(View(model));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Create(ClubViewModel clubViewModel)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError(string.Empty, "Data is not valid");

                clubViewModel.CountriesItems = countryService.GetAllAsKeyValuePairs();
                clubViewModel.StadiumsItems  = stadiumService.GetAllAsKeyValuePairs();

                return(View(clubViewModel));
            }

            try
            {
                await clubService.CreateAsync(clubViewModel);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.InnerException?.Message ?? ex.Message);

                clubViewModel.CountriesItems = countryService.GetAllAsKeyValuePairs();
                clubViewModel.StadiumsItems  = stadiumService.GetAllAsKeyValuePairs();

                return(View(clubViewModel));
            }

            TempData["SuccessMessage"] = "Club added successfully.";

            return(RedirectToAction("Index"));
        }
        public async Task UpdateNotExistingClub()
        {
            var stadiumsList = new List <Stadium>
            {
                new Stadium {
                    Id = 1, Name = "Old Trafford", Capacity = 76000
                }
            };
            var countriesList = new List <Country> {
                new Country {
                    Id = 1, Name = "England", Code = "EN"
                }
            };
            var clubsList = new List <Club>();

            var mockStadiumRepo = new Mock <IRepository <Stadium> >();
            var mockCountryRepo = new Mock <IRepository <Country> >();
            var mockClubRepo    = new Mock <IRepository <Club> >();

            mockClubRepo.Setup(r => r.All()).Returns(clubsList.AsQueryable());

            var clubService = new ClubService(mockClubRepo.Object, mockCountryRepo.Object, mockStadiumRepo.Object);

            var updatedViewModel = new ClubViewModel
            {
                Id            = 1,
                Name          = "Manchester United",
                CountryId     = 1,
                HomeStadiumId = 1
            };

            await Assert.ThrowsAsync <Exception>(() => clubService.UpdateAsync(updatedViewModel));
        }
Exemplo n.º 8
0
 public ClubPage()
 {
     InitializeComponent();
     BindingContext = new ClubViewModel();
     AddImage(Logo1, "NottCS.Images.Icons.icon2.png");
     AddImage(PlaceHolder, "NottCS.Images.example-background.jpg");
 }
        public async Task SaveAndUpdateClub()
        {
            var stadiumsList = new List <Stadium>
            {
                new Stadium {
                    Id = 1, Name = "Old Trafford", Capacity = 76000
                }
            };
            var countriesList = new List <Country> {
                new Country {
                    Id = 1, Name = "England", Code = "EN"
                }
            };
            var clubsList = new List <Club>();

            var mockStadiumRepo = new Mock <IRepository <Stadium> >();

            mockStadiumRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => stadiumsList.FirstOrDefault(c => c.Id == id));

            var mockCountryRepo = new Mock <IRepository <Country> >();

            mockCountryRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => countriesList.FirstOrDefault(c => c.Id == id));

            var mockClubRepo = new Mock <IRepository <Club> >();

            mockClubRepo.Setup(r => r.All()).Returns(clubsList.AsQueryable());
            mockClubRepo.Setup(r => r.AddAsync(It.IsAny <Club>())).Callback <Club>(club => clubsList.Add(new Club
            {
                Id          = 1,
                Name        = club.Name,
                Country     = club.Country,
                HomeStadium = club.HomeStadium
            }));

            var clubService = new ClubService(mockClubRepo.Object, mockCountryRepo.Object, mockStadiumRepo.Object);

            var clubViewModel = new ClubViewModel
            {
                Name          = "Manchester United",
                CountryId     = 1,
                HomeStadiumId = 1
            };

            await clubService.CreateAsync(clubViewModel);

            var updatedViewModel = new ClubViewModel
            {
                Id            = 1,
                Name          = "Newcastle United",
                CountryId     = 1,
                HomeStadiumId = 1
            };

            await clubService.UpdateAsync(updatedViewModel);

            var savedClub = clubService.Get(1);

            Assert.Equal(1, savedClub.Id);
            Assert.Equal("Newcastle United", savedClub.Name);
        }
        public ActionResult Index(ClubViewModel model)
        {
            try
            {
                ViewBag.SearchModel = model;
                var request = new FilteredModel <Club>();
                var offset  = (model.ThisPageIndex - 1) * model.ThisPageSize;

                var result = _mapper.Map <IList <ClubViewModel> >(_clubService.GetPaging(_mapper.Map <Club>(model), out long totalCount, model.PageOrderBy, model.PageOrder, offset, model.ThisPageSize));
                ViewBag.OnePageOfEntries = new StaticPagedList <ClubViewModel>(result, model.ThisPageIndex, model.ThisPageSize, (int)totalCount);
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                if (ex.InnerException != null && ex.InnerException.Source.Equals(GeneralMessages.ExceptionSource))
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
                else
                {
                    ModelState.AddModelError(string.Empty, GeneralMessages.UnexpectedError);
                }
            }
            return(View());
        }
Exemplo n.º 11
0
        public void EditClubTest()
        {
            // arrange
            var controller = new ClubController(repository.Object, usermanager.Object, hostingEnvironment.Object);
            var mockFile   = new Mock <IFormFile>();

            repository.Setup(r => r.Club.FindByCondition(It.IsAny <Expression <Func <Club, bool> > >())).Returns(
                new List <Club>
            {
                new Club {
                    ClubName    = "Club 2",
                    Description = "Some text"
                }
            }.AsQueryable());
            var expected = new Club
            {
                ClubName    = "Club 2",
                Description = "Some text"
            };
            // action
            var viewModel = new ClubViewModel {
                Club = expected
            };
            var result = controller.EditClub(viewModel, mockFile.Object);

            // assert
            repository.Verify(r => r.Club.Update(It.IsAny <Club>()), Times.Once());
        }
Exemplo n.º 12
0
        // GET: Clubs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Club club = db.Clubs.Find(id);

            if (club == null)
            {
                return(HttpNotFound());
            }
            var model = new ClubViewModel()
            {
                ID         = club.ID,
                Brand      = club.Brand,
                Price      = club.Price,
                ClubTypeID = club.ClubTypeID,
                ClubType   = club.ClubType,
                //Categories = club.Categories,

                SelectedCategoryIds = club.Categories.Select(c => c.ID).ToList()
            };

            //Allyson added the line below. Not having it was causing a runtime error.
            ViewBag.ClubTypeID  = new SelectList(db.ClubTypes, "ID", "ClubTypeName", club.ClubTypeID);
            model.AllCategories = db.Categories.Select(c => new SelectListItem {
                Text = c.CategoryName, Value = c.ID.ToString()
            }).ToList();
            return(View(model));
        }
Exemplo n.º 13
0
        public ActionResult Coach(string id)
        {
            var  coach   = _context.Users.SingleOrDefault(c => c.Id == id);
            var  clubs   = _context.Clubs.Include(c => c.Members).ToList();
            Club myClub  = new Club();
            var  members = new List <ApplicationUser>();
            bool hasClub = false;

            foreach (var club in clubs)
            {
                if (club.Members != null)
                {
                    if (club.Members.Contains(coach))
                    {
                        members = club.Members.ToList();
                        myClub  = club;
                        hasClub = true;
                    }
                }
            }

            var viewModel = new ClubViewModel()
            {
                Club      = myClub,
                HasClub   = hasClub,
                Members   = members,
                CoachId   = coach.Id,
                CoachName = coach.Name,
                ClubId    = myClub.Id
            };

            //var viewModel
            return(View(viewModel));
        }
Exemplo n.º 14
0
        // GET: Clubs/Create
        public ActionResult Create()
        {
            var model = new ClubViewModel();

            ViewBag.ClubTypeId  = new SelectList(db.ClubTypes, "ID", "ClubTypeName");
            model.AllCategories = db.Categories.Select(c => new SelectListItem {
                Text = c.CategoryName, Value = c.ID.ToString()
            }).ToList();
            return(View(model));
        }
Exemplo n.º 15
0
        public async Task <IActionResult> Index()
        {
            var model = new ClubViewModel {
                ClubLists    = await db.ClubList.ToListAsync(),
                CurrentClubs = await db.CurrentClubs.ToListAsync(),
                ClubRecs     = await db.ClubRec.ToListAsync(),
            };

            return(View(model));
        }
Exemplo n.º 16
0
        public ActionResult DeclineOffer(ClubViewModel model)
        {
            var user       = _context.Users.SingleOrDefault(u => u.Id == model.UserId);
            var invitation = _context.ClubInvitations.SingleOrDefault(i => i.FromId == model.CoachId && i.ToId == user.Id);

            _context.ClubInvitations.Remove(invitation);
            _context.SaveChanges();

            return(RedirectToAction("Coach", "Player", new { id = model.CoachId }));
        }
Exemplo n.º 17
0
        public async Task <IActionResult> Create(ClubViewModel club)
        {
            var isValid = await _clubService.ValidateAsync(_mapper.Map <ClubViewModel, ClubDTO>(club));

            if (!isValid)
            {
                return(StatusCode((int)HttpStatusCode.UnprocessableEntity));
            }

            return(Ok(await _clubService.CreateAsync(_mapper.Map <ClubViewModel, ClubDTO>(club))));
        }
Exemplo n.º 18
0
        public IActionResult Create()
        {
            var clubViewModel = new ClubViewModel
            {
                FoundedOn      = DateTime.Now,
                CountriesItems = countryService.GetAllAsKeyValuePairs(),
                StadiumsItems  = stadiumService.GetAllAsKeyValuePairs()
            };

            return(View(clubViewModel));
        }
Exemplo n.º 19
0
        public ActionResult Preview(Guid id)
        {
            Club club = Session.Get <Club>(id);

            ClubViewModel model = new ClubViewModel(club.Name, club.Info, club.Owner, club.Members.ToList());


            LoadLanguage(model);

            return(View(model));
        }
Exemplo n.º 20
0
        public void EditClubTestWithoutClubName()
        {
            // arrange
            var controller = new ClubController(repository.Object, usermanager.Object, hostingEnvironment.Object);
            var mockFile   = new Mock <IFormFile>();
            // action
            var viewModel = new ClubViewModel();
            var result    = controller.EditClub(viewModel, mockFile.Object);

            // assert
            Assert.IsType <RedirectToActionResult>(result);
        }
        public async Task SaveAndLoadClub()
        {
            var stadiumsList = new List <Stadium>
            {
                new Stadium {
                    Id = 1, Name = "Old Trafford", Capacity = 76000
                }
            };
            var countriesList = new List <Country> {
                new Country {
                    Id = 1, Name = "England", Code = "EN"
                }
            };
            var clubsList = new List <Club>();

            var mockStadiumRepo = new Mock <IRepository <Stadium> >();

            mockStadiumRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => stadiumsList.FirstOrDefault(c => c.Id == id));

            var mockCountryRepo = new Mock <IRepository <Country> >();

            mockCountryRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => countriesList.FirstOrDefault(c => c.Id == id));

            var mockClubRepo = new Mock <IRepository <Club> >();

            mockClubRepo.Setup(r => r.All()).Returns(clubsList.AsQueryable());
            mockClubRepo.Setup(r => r.AddAsync(It.IsAny <Club>())).Callback <Club>(club => clubsList.Add(club));
            mockClubRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => clubsList.FirstOrDefault(c => c.Id == id));

            var clubService = new ClubService(mockClubRepo.Object, mockCountryRepo.Object, mockStadiumRepo.Object);

            var clubViewModel = new ClubViewModel
            {
                Name            = "Manchester United",
                CountryId       = 1,
                HomeStadiumId   = 1,
                FoundedOn       = DateTime.Now,
                CountryName     = "England",
                HomeStadiumName = "Old Trafford"
            };

            await clubService.CreateAsync(clubViewModel);

            var savedClub     = clubService.Get(10, false);
            var lastSavedClub = clubService.GetAll().LastOrDefault();

            Assert.Null(savedClub);
            Assert.Equal("Manchester United", lastSavedClub.Name);
            Assert.Equal("England", clubViewModel.CountryName);
            Assert.Equal("Old Trafford", clubViewModel.HomeStadiumName);
            Assert.NotNull(lastSavedClub.Country);
            Assert.NotNull(lastSavedClub.HomeStadium);
        }
Exemplo n.º 22
0
        public ActionResult Index()
        {
            User user = Session.Get <User>(SecurityManager.AuthenticatedUser.Id);

            Club club = Session.Get <Club>(user.Club.Id);

            ClubViewModel model = new ClubViewModel(club.Name, club.Info, club.Owner, club.Members.ToList());


            LoadLanguage(model);

            return(View(model));
        }
Exemplo n.º 23
0
        public IActionResult PostForm(ClubViewModel clubViewModel)
        {
            var cu = new ClubUser
            {
                UserName = clubViewModel.name,
                Class    = clubViewModel.Class,
                Section  = clubViewModel.Section
            };

            _DbContext.clubUsers.Add(cu);
            _DbContext.SaveChanges();
            return(Redirect("/Club"));
        }
Exemplo n.º 24
0
        public ActionResult AcceptOffer(ClubViewModel model)
        {
            var user       = _context.Users.SingleOrDefault(u => u.Id == model.UserId);
            var club       = _context.Clubs.SingleOrDefault(c => c.Id == model.ClubId);
            var invitation = _context.ClubInvitations.SingleOrDefault(i => i.FromId == model.CoachId && i.ToId == user.Id);

            _context.ClubInvitations.Remove(invitation);
            club.Members = new List <ApplicationUser>();
            club.Members.Add(user);
            _context.SaveChanges();

            return(RedirectToAction("Coach", "Player", new { id = model.CoachId }));
        }
        public JsonResult SaveDataInDatabase(ClubViewModel model)
        {
            var result = false;

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.ClubID > 0)
                    {
                        Club club = db.Clubs.SingleOrDefault(x => x.ClubID == model.ClubID);
                        club.ClubName         = model.ClubName;
                        club.ClubAdresse      = model.ClubAdresse;
                        club.ClubEmail        = model.ClubEmail;
                        club.ClubDateCreation = model.ClubDateCreation;
                        club.imageUrl         = model.imageUrl;


                        db.SaveChanges();
                        result = true;
                    }
                    else
                    {
                        if (model.ImageUpload != null)
                        {
                            string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                            string extension = Path.GetExtension(model.ImageUpload.FileName);
                            fileName       = fileName + DateTime.Now.ToString("yymmssff") + extension;
                            model.imageUrl = fileName;
                            model.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/Images/Image-Club"), fileName));
                        }

                        Club club = new Club();
                        club.ClubName         = model.ClubName;
                        club.ClubAdresse      = model.ClubAdresse;
                        club.ClubEmail        = model.ClubEmail;
                        club.ClubDateCreation = model.ClubDateCreation;
                        club.imageUrl         = model.imageUrl;

                        db.Clubs.Add(club);
                        db.SaveChanges();
                        result = true;
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public IActionResult PostClub([FromBody] ClubBuilderData clubBuilderData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var club = ClubBuilder.Get(clubBuilderData);

            _clubService.Insert(club);
            _clubService.SaveChanges();

            return(Ok(ClubViewModel.Get(club)));
        }
        public JsonResult GetClubById(int ClubID)
        {
            Club          model  = db.Clubs.Where(x => x.ClubID == ClubID).FirstOrDefault();
            ClubViewModel clubvm = new ClubViewModel();

            clubvm.ClubID           = model.ClubID;
            clubvm.ClubName         = model.ClubName;
            clubvm.ClubAdresse      = model.ClubAdresse;
            clubvm.ClubEmail        = model.ClubEmail;
            clubvm.ClubDateCreation = model.ClubDateCreation;
            clubvm.imageUrl         = model.imageUrl;

            return(Json(clubvm, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 28
0
        public async Task <IActionResult> Edit(ClubViewModel Club)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var ClubDTO = _mapper.Map <ClubViewModel, ClubDTO>(Club);

            await _ClubService.EditAsync(ClubDTO);

            _logger.LogInformation($"Club {{{ClubDTO.Name}}} was edited.");

            return(Ok());
        }
        public async Task SaveTwoClubsWithSameNames()
        {
            var stadiumsList = new List <Stadium>
            {
                new Stadium {
                    Id = 1, Name = "Old Trafford", Capacity = 76000
                }
            };
            var countriesList = new List <Country> {
                new Country {
                    Id = 1, Name = "England", Code = "EN"
                }
            };
            var clubsList = new List <Club>();

            var mockStadiumRepo = new Mock <IRepository <Stadium> >();

            mockStadiumRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => stadiumsList.FirstOrDefault(c => c.Id == id));

            var mockCountryRepo = new Mock <IRepository <Country> >();

            mockCountryRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => countriesList.FirstOrDefault(c => c.Id == id));

            var mockClubRepo = new Mock <IRepository <Club> >();

            mockClubRepo.Setup(r => r.All()).Returns(clubsList.AsQueryable());
            mockClubRepo.Setup(r => r.AddAsync(It.IsAny <Club>())).Callback <Club>(club => clubsList.Add(club));

            var clubService = new ClubService(mockClubRepo.Object, mockCountryRepo.Object, mockStadiumRepo.Object);

            var firstClubViewModel = new ClubViewModel
            {
                Name          = "Manchester United",
                CountryId     = 1,
                HomeStadiumId = 1
            };

            var secondClubViewModel = new ClubViewModel
            {
                Name          = "Manchester United",
                CountryId     = 1,
                HomeStadiumId = 1
            };

            await clubService.CreateAsync(firstClubViewModel);

            await Assert.ThrowsAsync <Exception>(() => clubService.CreateAsync(secondClubViewModel));
        }
        public IActionResult GetClub([FromRoute] long id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var club = _clubService.GetWithRelations(id);

            if (club == null)
            {
                return(NotFound());
            }

            return(Ok(ClubViewModel.Get(club)));
        }