コード例 #1
0
        public IActionResult EditTeam(int id)
        {
            Team    team    = context.Teams.FirstOrDefault(t => t.Id == id);
            Project project = null;

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

            EditTeamViewModel editTeamViewModel = new EditTeamViewModel
            {
                Id   = team.Id,
                Name = team.Name
            };

            if (team.Project != null)
            {
                project = context.Projects.FirstOrDefault(p => p.Id == team.ProjectId);
                editTeamViewModel.ProjectName = project.Name;
            }
            else
            {
                editTeamViewModel.ProjectName = null;
            }

            ViewData["CreatedProjects"] = ProjectService.GetAllProjects();
            return(this.View(editTeamViewModel));
        }
コード例 #2
0
        public async Task <IActionResult> Edit(EditTeamViewModel model)
        {
            var emails = Utilities.ExtractEmails(model.TeamAdminEmails);
            var t      = await _context.Teams.FindAsync(model.Id);

            if (!t.TeamAdminEmails.Contains(User.Identity.Name))
            {
                return(NotFound());
            }
            if (emails.Count < 1)
            {
                ModelState.AddModelError("CurrentUserEmail", "Morate upisati i sačuvati barem jedan validan email.");
            }
            if (ModelState.IsValid)
            {
                var team = new Team()
                {
                    Id              = model.Id,
                    Name            = model.Name,
                    ModifiedBy      = User.Identity.Name,
                    ModifiedOn      = DateTime.Now,
                    TeamAdminEmails = String.Join(",", emails)
                };

                _teamsService.Save(team);

                if (model.Logo != null && model.Logo.Length > 0)
                {
                    await _imagesService.SavePicture(model.Logo, _appSettings.Value.StorageFolder + @"/teams", model.Id.ToString());
                }

                return(RedirectToAction(nameof(Details), new { id = model.Id }));
            }
            return(View(model));
        }
コード例 #3
0
        public IActionResult EditTeam(EditTeamViewModel model)
        {
            int result = TeamService.EditTeam(model);

            if (result > 0)
            {
            }
            else if (result <= 0)
            {
                if (result == 0)
                {
                    ViewBag.Message = $"Such team name already exists!";
                    return(View());
                }
                else if (result == -1)
                {
                    ViewBag.Message = $"This project has not been created yet. Please choose an existing project!";
                    return(View());
                }
            }

            ViewData["AllCreatedTeams"] = TeamService.GetAllTeams();
            CheckLoggedUser();
            return(RedirectToAction("ViewAllCreatedTeams", "Team"));
        }
コード例 #4
0
        public async Task <IActionResult> Edit(EditTeamViewModel model)
        {
            var team = await _context.Teams.SingleOrDefaultAsync(m => m.Slug == TeamSlug);

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

            if (model.IsActive && await _context.Teams.AnyAsync(a => a.Id != team.Id && a.Slug == model.Slug))
            {
                ModelState.AddModelError("Slug", "Team Slug already used.");
            }

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

            team.Name               = model.Name;
            team.Slug               = model.Slug;
            team.ContactName        = model.ContactName;
            team.ContactEmail       = model.ContactEmail;
            team.ContactPhoneNumber = model.ContactPhoneNumber;

            // only admins can change active
            if (User.IsInRole(ApplicationRoleCodes.Admin))
            {
                team.IsActive = model.IsActive;
            }

            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index), new { team = team.Slug }));
        }
コード例 #5
0
        public EditTeamViewModel Present(EditTeamViewModel vm)
        {
            vm.Persons = Persons();
            vm.Roles   = Roles();

            return(vm);
        }
コード例 #6
0
ファイル: TeamController.cs プロジェクト: SayedMosaad/MyDar
 public ActionResult Edit(int id, EditTeamViewModel model)
 {
     try
     {
         string FileName = UploadFile(model.File, model.ImageUrl);
         if (ModelState.IsValid)
         {
             var team = new Team
             {
                 Name      = model.Name,
                 Image     = FileName,
                 Job       = model.Job,
                 Bio       = model.Bio,
                 Facebook  = model.Facebook,
                 Twitter   = model.Twitter,
                 Instagram = model.Instagram,
                 Linkedin  = model.Linkedin
             };
             repository.Update(model.Id, team);
             return(RedirectToAction("index"));
         }
         return(View(model));
     }
     catch
     {
         return(View());
     }
 }
コード例 #7
0
        public ActionResult Edit(long id)
        {
            var team = db.Teams.Find(id);

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

            var performers = team.Performers
                             .Select(x => new UserListItemViewModel()
            {
                Id       = x.Id,
                UserName = x.UserName
            })
                             .ToList();

            var model = new EditTeamViewModel()
            {
                Id         = id,
                Name       = team.Name,
                Performers = performers
            };

            return(View(model));
        }
コード例 #8
0
 public ActionResult Edit([Bind(Include = "TeamId,Name")] EditTeamViewModel model)
 {
     if (ModelState.IsValid)
     {
         Team team = db.Teams.Find(c => c.TeamId == model.TeamId);
         if (team != null)
         {
             team.Name = model.Name;
             try
             {
                 //db.Entry(team).State = EntityState.Modified;
                 //db.SaveChanges();
             }
             catch (Exception ex)
             {
                 return(View("Error", new HandleErrorInfo(ex, "Teams", "Index")));
             }
             return(RedirectToAction("Index"));
         }
         else
         {
             Exception ex = new Exception("Unable to Retrieve Team");
             return(View("Error", new HandleErrorInfo(ex, "Teams", "Index")));
         }
     }
     // Something failed, return model to view
     return(View(model));
 }
コード例 #9
0
        public ActionResult Edit([Bind(Include = "Id, Name")] EditTeamViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Team team = db.Teams.Find(viewModel.Id);
                if (team != null)
                {
                    team.Name = viewModel.Name;
                    try
                    {
                        db.Entry(team).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        return(View("Error", new HandleErrorInfo(ex, "Teams", "Index")));
                    }
                    return(RedirectToAction("Index"));
                }
                else
                {
                    Exception ex = new Exception("Unable to Retrive Team");
                    return(View("Error", new HandleErrorInfo(ex, "Teams", "Index")));
                }
            }

            return(View(viewModel));
        }
コード例 #10
0
        [Authorize]        // GET: Teams/Create
        public IActionResult Create()
        {
            var model = new EditTeamViewModel()
            {
                CurrentUserEmail = User.Identity.Name
            };

            return(View(model));
        }
コード例 #11
0
        public void Constructor_ShouldLoadTeam()
        {
            //Act
            var sut = new EditTeamViewModel(_teamServiceMock.Object, _navigationServiceExMock.Object, _messengerCacheMock.Object);

            //Assert
            Assert.Equal(_selectedTeam, sut.SelectedTeam);
            _teamServiceMock.Verify(tS => tS.GetAllTeams(), Times.AtLeastOnce); //Normally it's once but since the ViewModel is created in the Constructor of this test it's twice
        }
コード例 #12
0
 public static EditTeamRequest ToRequest(this EditTeamViewModel vm, string userId)
 {
     return(new EditTeamRequest(userId)
     {
         Id = Identity.FromString(vm.Id),
         Name = vm.Name,
         TimeOfDailyScrum = TimeSpan.ParseExact(vm.TimeOfDailyScrum, @"hh\:mm", CultureInfo.InvariantCulture),
         Members = vm.SelectedMemberIds.Select((t, i) => new Team.Member(Identity.FromString(t), Enum.Parse <PersonRole>(vm.SelectedRoles[i])))
     });
 }
コード例 #13
0
        public int EditTeam(EditTeamViewModel model)
        {
            Team    takenTeam        = context.Teams.FirstOrDefault(t => t.Id == model.Id);
            Project takenProject     = context.Projects.FirstOrDefault(p => p.Id == takenTeam.ProjectId);
            bool    takenProjectInfo = context.Projects.FirstOrDefault(p => p.Name == model.ProjectName) == null;

            bool takenTemaInfo = context.Teams.FirstOrDefault(t => t.Name == model.Name) != null;

            if (takenTeam.Project != null)
            {
                if (!(takenTeam.Name == model.Name && takenProject.Name == model.ProjectName))
                {
                    if (takenTemaInfo)
                    {
                        return(0);
                    }
                    else if (takenProjectInfo)
                    {
                        return(-1);
                    }
                }
            }
            else
            {
                if (!(takenTeam.Name == model.Name))
                {
                    if (takenTemaInfo)
                    {
                        return(0);
                    }
                }
            }

            takenProject = context.Projects.FirstOrDefault(p => p.Name == model.ProjectName);

            takenTeam.Name = model.Name;

            if (takenTeam.Project == null)
            {
                takenProject.Teams.Add(takenTeam);
                takenTeam.ProjectId = takenProject.Id;
                takenTeam.Project   = takenProject;
                context.Projects.Update(takenProject);
            }
            else
            {
                takenTeam.ProjectId = takenProject.Id;
                takenTeam.Project   = takenProject;
            }

            context.Teams.Update(takenTeam);
            context.SaveChanges();

            return(takenTeam.Id);
        }
コード例 #14
0
        public async Task <IActionResult> Edit(EditTeamViewModel editInput)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(editInput));
            }

            var teamName = await this.teamsService.EditTeamAsync(editInput);

            return(this.RedirectToAction(nameof(this.Details), new { name = teamName.ToLower().Replace(' ', '-') }));
        }
コード例 #15
0
        public void UpdateTeam(int id, EditTeamViewModel team)
        {
            var teamDataModel = teamRepository.GetTeamByID(id);

            if (teamDataModel == null)
            {
                throw new TeamNotFoundException("Team was not found.");
            }
            else
            {
                teamDataModel.Name = team.Name;
                teamRepository.UpdateTeam(teamDataModel);
                teamRepository.Save();
            }
        }
コード例 #16
0
ファイル: TeamController.cs プロジェクト: SayedMosaad/Vivid
        public ActionResult Edit(int id)
        {
            var team  = repository.Find(id);
            var model = new EditTeamViewModel
            {
                Id        = team.ID,
                Name      = team.Name,
                Job       = team.Job,
                Bio       = team.Bio,
                ImageUrl  = team.Image,
                Facebook  = team.Facebook,
                Twitter   = team.Twitter,
                Instagram = team.Instagram
            };

            return(View(model));
        }
コード例 #17
0
        public async Task <IActionResult> Edit(int id)
        {
            var team = await _context.Teams.FindAsync(id);

            if (!team.TeamAdminEmails.Contains(User.Identity.Name))
            {
                return(NotFound());
            }
            var model = new EditTeamViewModel()
            {
                Id              = team.Id,
                Name            = team.Name,
                TeamAdminEmails = team.TeamAdminEmails,
            };

            return(View(model));
        }
コード例 #18
0
        // HttpPost Edit Method
        public async Task <string> EditTeamAsync(EditTeamViewModel editInputModel)
        {
            var country = await this.database.Countries.FirstOrDefaultAsync(c => c.Name.ToLower() == editInputModel.CountryName.ToLower());

            if (country == null)
            {
                country = new Country
                {
                    Name = editInputModel.CountryName,
                };

                await this.database.Countries.AddAsync(country);
            }

            var town = await this.database.Towns.FirstOrDefaultAsync(t => t.Name.ToLower() == editInputModel.TownName.ToLower());

            if (town == null)
            {
                town = new Town
                {
                    Name    = editInputModel.TownName,
                    Country = country,
                };

                await this.database.Towns.AddAsync(town);
            }

            var team = new Team
            {
                Id                   = editInputModel.Id,
                Name                 = editInputModel.Name,
                LogoUrl              = editInputModel.LogoUrl,
                CoverPhotoUrl        = editInputModel.CoverPhotoUrl,
                CoachName            = editInputModel.CoachName,
                TrainingsDescription = editInputModel.TrainingsDescription,
                ContactUrl           = editInputModel.ContactUrl,
                Town                 = town,
            };

            this.database.Teams.Update(team);
            await this.database.SaveChangesAsync();

            return(team.Name);
        }
コード例 #19
0
        public EditTeamViewModelTest()
        {
            _teams         = GenerateTeamList();
            _selectedIndex = new Random().Next(_teams.Count);
            _selectedTeam  = _teams[_selectedIndex];

            _teamServiceMock         = new Mock <ITeamService>();
            _navigationServiceExMock = new Mock <INavigationServiceEx>();
            _messengerCacheMock      = new Mock <IMessengerCache>();
            _teamServiceMock.Setup(tS => tS.GetAllTeams()).ReturnsAsync(_teams);
            _teamServiceMock.Setup(tS => tS.DeleteTeam(It.IsAny <int>())).ReturnsAsync(true);
            _teamServiceMock.Setup(tS => tS.EditTeam(It.IsAny <int>(), It.IsAny <Team>())).ReturnsAsync(true);
            _navigationServiceExMock.Setup(nS => nS.Navigate(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <NavigationTransitionInfo>())).Returns(true);
            _navigationServiceExMock.Setup(nS => nS.GoBack()).Returns(true);
            _messengerCacheMock.Setup(mC => mC.CachedSelectedTeam).Returns(_selectedTeam);

            _sender = new TeamsViewModel(_teamServiceMock.Object, _navigationServiceExMock.Object);
            _sender.EditTeamCommand.Execute(_selectedIndex);
            _sut = new EditTeamViewModel(_teamServiceMock.Object, _navigationServiceExMock.Object, _messengerCacheMock.Object);
        }
コード例 #20
0
        public IActionResult Edit(int id)
        {
            var team = _teamRepository.Get(id);

            if (team == null)
            {
                return(View(new ErrorViewModel {
                    RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier
                }));
            }

            var model = new EditTeamViewModel
            {
                Id       = id,
                Name     = team.Name,
                Strength = team.Strength
            };

            return(View(model));
        }
コード例 #21
0
 public ActionResult Edit(int id, FormCollection collection, [Bind(Include = "Name, ID")] TeamViewModel team)
 {
     try
     {
         if (ModelState.IsValid)
         {
             string teamName    = team.Name;
             var    updatedTeam = new EditTeamViewModel {
                 Name = teamName
             };
             TeamPresenterObject.UpdateTeam(id, updatedTeam);
             return(RedirectToAction("Index"));
         }
         return(View());
     }
     catch (TeamNotFoundException e)
     {
         return(View("ResultNotFoundError"));
     }
 }
コード例 #22
0
        public async Task <IActionResult> Edit()
        {
            var team = await _context.Teams.SingleOrDefaultAsync(m => m.Slug == TeamSlug);

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

            var model = new EditTeamViewModel()
            {
                Name               = team.Name,
                Slug               = team.Slug,
                ContactName        = team.ContactName,
                ContactEmail       = team.ContactEmail,
                ContactPhoneNumber = team.ContactPhoneNumber,
                IsActive           = team.IsActive,
            };

            return(View(model));
        }
コード例 #23
0
        public async Task <IActionResult> Edit([FromBody] EditTeamViewModel editTeamViewModel)
        {
            logger.LogInformation($"POST Request {HttpContext.Request.Headers[":path"]}. Body: {JsonConvert.SerializeObject(editTeamViewModel)}");

            var teamId = editTeamViewModel.Id;

            if (!await accessChecker.CanManageTeam(teamId))
            {
                throw new HttpStatusException(HttpStatusCode.Forbidden, CommonErrorMessages.Forbidden);
            }

            var team = await context.Teams.FirstOrDefaultAsync(t => t.Id == teamId);

            if (team == null)
            {
                throw new HttpStatusException(HttpStatusCode.BadRequest, TeamErrorMessages.NotFound, TeamErrorMessages.DebugNotFound(teamId));
            }

            var @event = await context.Events.FirstOrDefaultAsync(e => e.Id == editTeamViewModel.EventId);

            var config = new MapperConfiguration(cfg => cfg.CreateMap <EditTeamViewModel, Team>()
                                                 .ForMember("Event", opt => opt.MapFrom(_ => @event)));
            var mapper = new Mapper(config);

            mapper.Map(editTeamViewModel, team);

            try
            {
                context.Update(team);
                await context.SaveChangesAsync();
            }
            catch (Exception)
            {
                throw new HttpStatusException(HttpStatusCode.InternalServerError, CommonErrorMessages.SaveChanges);
            }

            return(Ok(team));
        }
コード例 #24
0
ファイル: TeamController.cs プロジェクト: SayedMosaad/MyDar
        public ActionResult Edit(int id)
        {
            var team = repository.Find(id);

            if (team == null)
            {
                return(NotFound());
            }
            var model = new EditTeamViewModel
            {
                Id        = team.ID,
                Name      = team.Name,
                ImageUrl  = team.Image,
                Job       = team.Job,
                Bio       = team.Bio,
                Facebook  = team.Facebook,
                Twitter   = team.Twitter,
                Instagram = team.Instagram,
                Linkedin  = team.Linkedin
            };

            return(View(model));
        }
コード例 #25
0
        // HttpGet Edit Method
        public async Task <EditTeamViewModel> EditTeamViewAsync(int id)
        {
            var teamToEdit = await this.GetTeamByIdAsync(id);

            var townName = await this.database.Towns.FirstOrDefaultAsync(t => t.Id == teamToEdit.TownId);

            var countryName = await this.database.Countries.FirstOrDefaultAsync(c => c.Id == townName.CountryId);

            var editTeamInput = new EditTeamViewModel
            {
                Id                   = teamToEdit.Id,
                Name                 = teamToEdit.Name,
                LogoUrl              = teamToEdit.LogoUrl,
                CoverPhotoUrl        = teamToEdit.CoverPhotoUrl,
                CoachName            = teamToEdit.CoachName,
                TrainingsDescription = teamToEdit.TrainingsDescription,
                ContactUrl           = teamToEdit.ContactUrl,
                CountryName          = countryName.Name,
                TownName             = townName.Name,
            };

            return(editTeamInput);
        }
コード例 #26
0
        public IActionResult Edit(EditTeamViewModel vm)
        {
            if (!ModelState.IsValid)
                return View(vm);

            var presenter = _presenterFactory.Edit(MessageHandler, ErrorHandler);
            var request = vm.ToRequest(CurrentUserId);
            try
            {
                var uc = _useCaseFactory.Edit;
                var response = uc.Execute(request);
                return RedirectToAction(nameof(Index), new { id = presenter.Present(response) });
            }
            catch (InvalidRequestException ire)
            {
                presenter.PresentErrors(ire.Message, ire.Errors);
                return View(presenter.Present(vm));
            }
            catch (Exception e)
            {
                presenter.PresentMessage(MessageType.Error, e.Message);
                return View(presenter.Present(vm));
            }
        }
コード例 #27
0
        public ActionResult Edit(EditTeamViewModel model)
        {
            if (model == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

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

            var team = db.Teams.Find(model.Id);

            if (team == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            team.Name = model.Name;
            db.SaveChanges();

            return(RedirectToAction("Index", new { id = team.Id }));
        }
コード例 #28
0
        public IActionResult Edit(EditTeamViewModel model)
        {
            if (ModelState.IsValid)
            {
                Team team = _teamRepository.Get(model.Id);

                if (team == null)
                {
                    return(View(new ErrorViewModel {
                        RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier
                    }));
                }
                else
                {
                    team.Name     = model.Name;
                    team.Strength = model.Strength;
                    _teamRepository.Update(team);
                    return(RedirectToAction("Index", new { Id = team.Id }));
                }
            }


            return(View());
        }
コード例 #29
0
ファイル: ProjectController.cs プロジェクト: GiorgioG/Pompeii
 public IActionResult Post(EditTeamViewModel model)
 {
     return(View("Index"));
 }
コード例 #30
0
        public IActionResult CreateTeam(EditTeamViewModel viewModel)
        {
            //DataUtil.FantasyTeams.AddOrUpdate(viewModel.Team);

            return(RedirectToAction("Index", "Profile"));
        }