예제 #1
0
        public async Task <IActionResult> EditOurTeam(TeamEditViewModel teamView)
        {
            if (teamView.TeamImage != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await teamView.TeamImage.CopyToAsync(memoryStream);

                    teamView.Team.Image         = memoryStream.ToArray();
                    teamView.Team.ImageMimeType = teamView.TeamImage.ContentType;
                }
            }
            if (ModelState.IsValid)
            {
                var category = new OurTeam
                {
                    Name        = teamView.Team.Name,
                    Description = teamView.Team.Description,
                    Position    = teamView.Team.Position,
                    Image       = teamView.Team.Image
                };

                teamRepository.SaveTeam(teamView.Team);
                TempData["message"] = $"{teamView.Team.Name} has been saved";
                return(RedirectToAction("InformationList"));
            }
            else
            {
                // there is something wrong with the data values
                return(View(teamView));
            }
        }
        public IActionResult Edit(int?id)
        {
            TeamEditViewModel viewModel = new TeamEditViewModel();

            if (id == null)
            {
                return(StatusCode((int)HttpStatusCode.BadRequest));
            }

            viewModel.CurrentTeam = _teamRepository.Find(x => x.Id == id).FirstOrDefault();
            viewModel.AllUsers    = _userRepository.GetAll().ToList();

            var associations = _teamAssociationRepository.Find(x => x.TeamId == id);

            foreach (var user in viewModel.AllUsers)
            {
                user.Selected = associations.FirstOrDefault(x => x.UserId == user.UserId) != null;
            }

            if (viewModel.CurrentTeam == null)
            {
                return(StatusCode((int)HttpStatusCode.NotFound));
            }
            else
            {
                return(View(viewModel));
            }
        }
        public IActionResult Edit(int?id, TeamEditViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            if (id == null)
            {
                return(StatusCode((int)HttpStatusCode.BadRequest));
            }

            var found = _teamRepository.Find(x => x.Id == id).FirstOrDefault();

            if (found == null)
            {
                return(StatusCode((int)HttpStatusCode.NotFound));
            }

            _teamAssociationRepository.Update((int)id, viewModel.AllUsers);

            found.Designation = viewModel.CurrentTeam.Designation;
            _teamRepository.CommitChanges();

            return(RedirectToAction(MethodNames.INDEX));
        }
예제 #4
0
        public async Task <IActionResult> Create(TeamModel team)
        {
            try
            {
                await teamService.Create(team);
            }
            catch (OracleException ex)
            {
                if (ex.Number == 20027)
                {
                    ModelState.AddModelError("", "The name of the team must be unique within the league");
                }
                else
                {
                    ModelState.AddModelError("", "Team creation failed");
                }

                var leagues = await leagueService.GetAll();

                var result = new TeamEditViewModel
                {
                    Leagues = leagues.ToList(),
                    Team    = team
                };

                return(View("TeamEdit", result));
            }

            return(RedirectToAction("TotalCost"));
        }
        // Get: Teams/EditTeam
        public ActionResult EditTeam(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid Team Id"));
            }

            //Find team
            var team = _db.Teams.Find(id);

            if (team == null)
            {
                return(new HttpNotFoundResult("Cannot find specified team"));
            }

            //Check the user has permission
            var currentUser = _userManager.FindById(User.Identity.GetUserId());
            var teamUser    = team.Members.First(m => m.User == currentUser);

            if (teamUser == null || teamUser.Role != TeamMemberRole.Creator)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "You don't have permission to perform this action"));
            }

            var model = new TeamEditViewModel(team);

            return(PartialView("_EditTeam", model));
        }
예제 #6
0
        // GET: TeamModels/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (await extractUser())
            {
                if (user.role.name == "CEO")
                {
                    if (id == null)
                    {
                        return(NotFound());
                    }

                    TeamModel teamModel = await _context.Teams.Include(t => t.teamLeader).Include(t => t.project).FirstOrDefaultAsync(t => t.id == id);

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

                    Dictionary <string, string> users = await _context.Users.Include(u => u.role).Where(u => u.role.name == "Team Lead" && u.team == null).ToDictionaryAsync(u => u.username, u => (u.username + "(" + u.firstName + " " + u.lastName + ")"));

                    List <string> projects = await _context.Projects.Select(p => p.name).ToListAsync();

                    TeamEditViewModel tevm = new TeamEditViewModel(teamModel, users, projects);
                    return(View(tevm));
                }
                else
                {
                    return(View("NoPermission"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "LogIn"));
            }
        }
        public ViewResult Add()
        {
            TeamEditViewModel viewModel = new TeamEditViewModel();

            viewModel.CurrentTeam = new Team();
            viewModel.AllUsers    = _userRepository.GetAll().ToList();
            return(View(viewModel));
        }
예제 #8
0
 public ViewModelLocator()
 {
     MenuViewModel           = new MenuViewModel(_messenger, this);
     TeamEditViewModel       = new TeamEditViewModel(_messenger, this);
     AuthenticationViewModel = new AuthenticationViewModel(_messenger);
     RootViewModel           = new RootViewModel(_messenger, this);
     ProfileViewModel        = new ProfileViewModel(_messenger);
     TeamViewModel           = new TeamViewModel(_messenger);
 }
예제 #9
0
        public async Task <IActionResult> ChangeLeader(int?teamId)
        {
            if (await extractUser())
            {
                if (user.role.name == "CEO")
                {
                    if (teamId == null)
                    {
                        return(NotFound());
                    }

                    string leader = Request.Form["Leaders"];

                    TeamModel team = await _context.Teams.Include(t => t.teamLeader).Include(t => t.project).FirstOrDefaultAsync(t => t.id == teamId);

                    Dictionary <string, string> users = await _context.Users.Include(u => u.role).Where(u => u.role.name == "Team Lead" && u.team == null).ToDictionaryAsync(u => u.username, u => (u.username + "(" + u.firstName + " " + u.lastName + ")"));

                    List <string> projects = await _context.Projects.Select(p => p.name).ToListAsync();

                    if (team.teamLeader != null)
                    {
                        UserModel oldLeader = team.teamLeader;
                        oldLeader.team       = null;
                        oldLeader.leadedTeam = null;
                    }


                    UserModel newLeader = await _context.Users.Include(u => u.team).Include(u => u.leadedTeam).FirstOrDefaultAsync(u => u.username == leader);

                    if (newLeader != null)
                    {
                        newLeader.team       = team;
                        newLeader.leadedTeam = team;
                        TeamEditViewModel tevm = new TeamEditViewModel(team, users, projects);
                        await _context.SaveChangesAsync();

                        return(View("Edit", tevm));
                    }
                    else
                    {
                        TeamEditViewModel tevm = new TeamEditViewModel(team, users, projects);
                        await _context.SaveChangesAsync();

                        return(View("Edit", tevm));
                    }
                }
                else
                {
                    return(View("NoPermission"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "LogIn"));
            }
        }
예제 #10
0
        public ViewResult EditOurTeam(int teamId)
        {
            var team = teamRepository.Teams.Where(p => p.Id == teamId).FirstOrDefault();
            var t    = new TeamEditViewModel
            {
                Team = team
            };

            return(View(t));
        }
예제 #11
0
        public async Task <IActionResult> Create()
        {
            var leagues = await leagueService.GetAll();

            var result = new TeamEditViewModel
            {
                Leagues = leagues.ToList()
            };

            return(View("TeamEdit", result));
        }
예제 #12
0
        protected override DriverResult Editor(TeamPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var model = new TeamEditViewModel();

            updater.TryUpdateModel(model, Prefix, null, null);

            if (part.ContentItem.Id != 0)
            {
                _teamService.UpdateForContentItem(part.ContentItem, model);
            }

            return(Editor(part, shapeHelper));
        }
예제 #13
0
        public void UpdateForContentItem(IContent item, TeamEditViewModel model)
        {
            var teamPart = item.As <TeamPart>();

            teamPart.CupId = model.CupId;
            teamPart.Name  = model.Name;

            var oldAttendees = _teamAttendeeService.GetByTeam(teamPart.Id).ToList();

            // Make sure this is never null
            if (model.TeamAttendees == null)
            {
                model.TeamAttendees = new List <TeamAttendeeEditViewModel>();
            }

            foreach (var attendee in oldAttendees)
            {
                var attendeeModel = model.TeamAttendees.SingleOrDefault(m => m.Id == attendee.Id);

                if (attendeeModel != null)
                {
                    // Update existing attendees
                    attendee.AttendeePartRecord = attendeeModel.AttendeeId.HasValue
                        ? _attendeeService.Get(attendeeModel.AttendeeId.Value).Record
                        : null;
                }
                else
                {
                    // Delete the attendees that no longer exist
                    _teamAttendeeService.Delete(attendee);
                }
            }

            // Add the new attendees
            foreach (var attendee in from attendee in model.TeamAttendees
                     let oldAttendee = oldAttendees.SingleOrDefault(m => m.Id == attendee.Id)
                                       where oldAttendee == null
                                       select attendee)
            {
                _teamAttendeeService.Create(
                    new TeamAttendeeRecord {
                    TeamPartRecord     = teamPart.Record,
                    Id                 = attendee.Id,
                    AttendeePartRecord = attendee.AttendeeId.HasValue
                            ? _attendeeService.Get(attendee.AttendeeId.Value).Record
                            : null
                });
            }
        }
예제 #14
0
        public async Task <IActionResult> Edit(TeamEditViewModel viewModel)
        {
            var team = await _unitOfWork.Teams.GetTeam(viewModel.Id);

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

            _mapper.Map(viewModel, team);

            await _unitOfWork.CompleteAsync();

            return(RedirectToAction("Info", new { id = team.Id }));
        }
        public IActionResult Add(TeamEditViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            if (_teamRepository.Find(x => x.Designation == viewModel.CurrentTeam.Designation).FirstOrDefault() != null)
            {
                return(View(viewModel));
            }

            _teamRepository.Add(viewModel.CurrentTeam);
            _teamAssociationRepository.Update(viewModel.CurrentTeam.Id, viewModel.AllUsers);

            return(RedirectToAction(MethodNames.INDEX));
        }
예제 #16
0
        //TODO refactor these 3 methods

        public async Task <IActionResult> ChangeTeamName(int?teamId, string teamName)
        {
            if (await extractUser())
            {
                if (user.role.name == "CEO")
                {
                    if (teamId == null)
                    {
                        return(NotFound());
                    }

                    TeamModel team = await _context.Teams.Include(t => t.teamLeader).Include(t => t.project).FirstOrDefaultAsync(t => t.id == teamId);

                    Dictionary <string, string> users = await _context.Users.Include(u => u.role).Where(u => u.role.name == "Team Lead" && u.team == null).ToDictionaryAsync(u => u.username, u => (u.username + "(" + u.firstName + " " + u.lastName + ")"));

                    List <string> projects = await _context.Projects.Select(p => p.name).ToListAsync();

                    TeamEditViewModel tevm = new TeamEditViewModel(team, users, projects);

                    if (teamName != null)
                    {
                        team.name = teamName;
                        await _context.SaveChangesAsync();

                        return(View("Edit", tevm));
                    }
                    else
                    {
                        ViewData["Message"] = "You must choose name for the team!";
                        return(View("Edit", tevm));
                    }
                }
                else
                {
                    return(View("NoPermission"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "LogIn"));
            }
        }
예제 #17
0
        public async Task <IActionResult> Edit(int id)
        {
            var team = await _unitOfWork.Teams.GetTeam(id);

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

            var viewModel = new TeamEditViewModel();

            viewModel.PopulateLocationList(
                _unitOfWork.Locations.GetCities(),
                _unitOfWork.Locations.GetDistricts(team.District.CityId));


            _mapper.Map(team, viewModel);

            return(View(viewModel));
        }