Beispiel #1
0
        public ActionResult Edit(int id, int?seasonId, int?sectionId, int?unionId)
        {
            var club = clubsRepo.GetById(id);

            if (club.IsArchive)
            {
                return(RedirectToAction("NotFound", "Error"));
            }

            if (User.IsInAnyRole(AppRole.Workers))
            {
                return(RedirectToAction("Index", "NotAuthorized"));
            }

            var viewModel = new EditClubViewModel()
            {
                Id                = id,
                Name              = club.Name,
                SectionId         = club.SectionId,
                SectionName       = club?.Section?.Name,
                UnionId           = club.UnionId,
                UnionName         = club?.Union?.Name,
                SeasonId          = seasonId,
                CurrentSeasonId   = seasonId ?? seasonsRepository.GetLastSeasonByCurrentClub(club).Id,
                CurrentSeasonName = seasonId.HasValue ? seasonsRepository.GetById(seasonId.Value).Name : "",
                Seasons           = club.IsSectionClub ?? true?seasonsRepository.GetClubsSeasons(id) : new List <Season>()
            };

            return(View(viewModel));
        }
Beispiel #2
0
        public ActionResult RemoveMember(Guid memberId)
        {
            var user = Session.Query <User>().Where(x => x.Id == SecurityManager.AuthenticatedUser.Id).FirstOrDefault();

            if (user == null)
            {
                throw new InvalidOperationException();
            }

            var member = Session.Query <Participant>().Where(x => x.Id == memberId).FirstOrDefault();

            if (member == null)
            {
                throw new InvalidOperationException();
            }

            var model = new EditClubViewModel();


            LoadLanguage(model);

            model.ClubName = user.Club.Name;
            model.Info     = user.Club.Info;
            model.Members  = user.Club.Members.ToList();

            Session.Delete(member);

            model.Members.Remove(member);

            return(PartialView("MembersPartialView", model));
        }
Beispiel #3
0
        public ActionResult Save(EditClubViewModel model)
        {
            LoadLanguage(model);

            User currentUser = Session.Get <User>(SecurityManager.AuthenticatedUser.Id);

            model.Members = currentUser.Club.Members.ToList();

            ModelState["FirstName"].Errors.Clear();
            ModelState["MiddleName"].Errors.Clear();
            ModelState["LastName"].Errors.Clear();
            ModelState["EGN"].Errors.Clear();

            if (!ModelState.IsValid)
            {
                return(View("Edit", model));
            }

            currentUser.Club.Name = model.ClubName;
            currentUser.Club.Info = model.Info;

            Session.Update(currentUser);

            return(RedirectToAction("Index"));
        }
Beispiel #4
0
        public async Task <Club> EditClubAsync(EditClubViewModel m)
        {
            var c = await _repo.GetByIdAsync(m.Id);

            c.Name             = m.Name;
            c.Webpage          = m.Webpage;
            c.Email            = m.Email;
            c.Phone            = m.Phone;
            c.NameAbbreviation = m.NameAbbreviation;
            await _repo.EditAsync(c);

            return(c);
        }
Beispiel #5
0
        public async Task <IActionResult> Edit(int clubId, EditClubViewModel model)
        {
            if (clubId != model.Id)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                await _clubService.EditClubAsync(model);

                return(RedirectToAction("Clubs", "Admin"));
            }
            return(View(model));
        }
Beispiel #6
0
        public EditClubViewModel GetClubViewModelById(int id)
        {
            var c     = _repo.GetById(id);
            var model = new EditClubViewModel
            {
                Name             = c.Name,
                Webpage          = c.Webpage,
                NameAbbreviation = c.NameAbbreviation,
                Email            = c.Email,
                Phone            = c.Phone,
                Id      = id,
                Deleted = c.Deleted
            };

            return(model);
        }
Beispiel #7
0
        public ActionResult Edit()
        {
            var model = new EditClubViewModel();


            LoadLanguage(model);

            User currentUser = Session.Get <User>(SecurityManager.AuthenticatedUser.Id);

            model.ClubName = currentUser.Club.Name;
            model.Info     = currentUser.Club.Info;
            model.Members  = currentUser.Club.Members.ToList();
            model.Owner    = currentUser;

            return(View(model));
        }
Beispiel #8
0
        public ActionResult AddMember(EditClubViewModel model)
        {
            LoadLanguage(model);

            var user = Session.Query <User>().Where(x => x.Id == SecurityManager.AuthenticatedUser.Id).FirstOrDefault();

            if (user == null)
            {
                throw new InvalidOperationException();
            }

            if (string.IsNullOrEmpty(model.LicenceNumber))
            {
                model.LicenceNumber = string.Empty;
            }

            var member = Session.Query <Participant>().Where(x => x.EGN == model.EGN).FirstOrDefault();

            if (member != null)
            {
                ModelState.AddModelError("Member exists", string.Format("Вече съществува член на клуб {0} с това ЕГН", member.Club.Name));

                return(PartialView("MembersPartialView", model));
            }

            member = new Participant(model.FirstName, model.MiddleName, model.LastName, model.EGN, model.LicenceNumber, user.Club);

            Session.Save(member);

            if (model.Members == null)
            {
                model.Members = new List <Participant>();
            }

            model.Members.Add(member);

            return(Json(new Object[] { false, this.RenderPartialViewToString("MembersPartialView", model) }));
        }