Esempio n. 1
0
        public async Task <IActionResult> Edit(TeamBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            var group = await this.ts.GetGroupByName(model.Group.Name);

            if (group == null)
            {
                group = new Group
                {
                    Name = model.Group.Name
                };

                await this.ts.CreateGroup(group);
            }

            var team = this.mapper.Map <Team>(model);

            if (team.GroupId != group.Id)
            {
                team.GroupId = group.Id;
            }

            await this.ts.UpdateTeam(team);

            this.TempData["SuccessMsg"] = "Team has been edited Successfully!";

            return(this.RedirectToAction("Index"));
        }
Esempio n. 2
0
        public async Task <IActionResult> Update([FromBody] TeamBindingModel model)
        {
            var entity = await _repository.QueryableAll(x => x.Id == model.Id).Include(x => x.ParticipantTeams).FirstOrDefaultAsync();

            if (entity == null)
            {
                return(BadRequest(new BadRequestResponseModel(ErrorTypes.BadRequest, ErrorMessages.ItemNotFound)));
            }

            // Update Participants
            foreach (var item in model.Participants)
            {
                if (entity.ParticipantTeams.Any(x => x.TeamMemberId == item))
                {
                    continue;
                }

                entity.ParticipantTeams.Add(new ParticipantTeam {
                    TeamId = entity.Id, TeamMemberId = item
                });
            }

            var deletedParticipantTeams = entity.ParticipantTeams.Where(x => !model.Participants.Contains(x.TeamMemberId)).ToList();

            deletedParticipantTeams.ForEach(x => entity.ParticipantTeams.Remove(x));

            entity.Name        = model.Name;
            entity.Description = model.Description;
            entity.UpdatedAt   = DateTime.Now;
            entity.UpdatedBy   = UserId;

            await _repository.UpdateAsync(entity);

            return(Ok());
        }
Esempio n. 3
0
        public ActionResult Create(TeamBindingModel bind)
        {
            if (ModelState.IsValid)
            {
                var team    = Mapper.Map <TeamBindingModel, Team>(bind);
                var country = this.db.Countries.Find(bind.CountryId);
                team.Country = country;
                var city = this.db.Cities.Find(bind.CityId);
                team.City = city;
                db.Teams.Add(team);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            var availableCountries      = this.db.Countries.ToList();
            var availableCountriesModel =
                Mapper.Map <IEnumerable <Country>, IEnumerable <CountryBindingModel> >(availableCountries);
            var availableCities      = this.db.Cities.ToList();
            var availableCitiesModel =
                Mapper.Map <IEnumerable <City>, IEnumerable <CityBindingModel> >(availableCities);
            var model = new TeamBindingModel
            {
                AvailableCountries = availableCountriesModel,
                AvailableCities    = availableCitiesModel
            };

            return(View(model));
        }
Esempio n. 4
0
        public void Create_WithValidBindingModel_ShouldReturnOk()
        {
            //arrange
            this.mockTeamRepository
            .Setup(x => x.AddAsync(
                       It.IsAny <string>(),
                       It.IsAny <IEnumerable <Guid> >()))
            .ReturnsAsync(new Team());

            var team = new TeamBindingModel
            {
                Name    = "test name",
                Members = Enumerable.Range(1, 2).Select(x => Guid.NewGuid())
            };

            //act
            var response = this.testClient.PostAsJsonAsync("/api/teams", team).Result;

            //assert
            this.mockTeamRepository
            .Verify(
                x => x.AddAsync(
                    It.IsAny <string>(),
                    It.IsAny <IEnumerable <Guid> >()),
                Times.Once());
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
        }
        public async Task SaveTeam(TeamBindingModel model)
        {
            var team = this.Mapper.Map <Team>(model);

            await this.DbContext.Teams.AddAsync(team);

            await this.DbContext.SaveChangesAsync();
        }
Esempio n. 6
0
        public async Task <IActionResult> Create([FromBody] TeamBindingModel model)
        {
            var entity = _mapper.Map <Team>(model);

            entity.CreatedBy = UserId;

            await _repository.AddAsync(entity);

            return(Ok());
        }
Esempio n. 7
0
        public async Task <IActionResult> Edit(int id, TeamBindingModel model)
        {
            await this.adminTeamsService.EditTeam(id, model);

            this.TempData[AdminConstants.MessageType] = AdminConstants.Success;
            this.TempData[AdminConstants.Message]     = string.Format(AdminConstants.SuccessfullyEdit,
                                                                      AdminConstants.Team);

            return(RedirectToAction(AdminConstants.ActionDetails, new { id = id }));
        }
Esempio n. 8
0
        public async Task <IActionResult> Create(TeamBindingModel model)
        {
            await this.adminTeamsService.SaveTeam(model);

            this.TempData[AdminConstants.MessageType] = AdminConstants.Success;
            this.TempData[AdminConstants.Message]     = string.Format(AdminConstants.SuccessfullyAdd,
                                                                      AdminConstants.Team);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task EditTeamAsync_WithNoValidId_ShouldThrowArgumentNullException()
        {
            var bindingModel = new TeamBindingModel
            {
                Name    = string.Format(TestsConstants.EditTeam, 1),
                LogoUrl = string.Format(TestsConstants.EditLogo, 1)
            };

            await Assert.ThrowsExceptionAsync <ArgumentNullException>(() =>
                                                                      this.service.EditTeam(2, bindingModel));
        }
        public async Task EditTeam(int id, TeamBindingModel model)
        {
            var team = await this.DbContext.Teams.FindAsync(id);

            this.CheckIfTeamExist(team);

            team.Name    = model.Name;
            team.LogoUrl = model.LogoUrl;

            await this.DbContext.SaveChangesAsync();
        }
        public async Task GetTeamAsync_WithId_ShouldReturnTypeofTeamBindingModel()
        {
            var teamFromService = await this.service.GetTeam(1);

            var bindingModelTest = new TeamBindingModel()
            {
                Name    = string.Format(TestsConstants.Team, 1),
                LogoUrl = string.Format(TestsConstants.Logo, 1)
            };

            Assert.IsInstanceOfType(teamFromService, typeof(TeamBindingModel));
        }
Esempio n. 12
0
 public IActionResult Update([FromBody] TeamBindingModel teamBindingModel)
 {
     TeamAdapter._employeeService = _employeeService;
     if (_teamService.Update(TeamAdapter.ToTeamModel(teamBindingModel)) > 0)
     {
         return(Ok(teamBindingModel));
     }
     else
     {
         return(BadRequest());
     }
 }
Esempio n. 13
0
 public IActionResult Create([FromBody] TeamBindingModel teamBindingModel)
 {
     TeamAdapter._employeeService = _employeeService;
     if (_teamService.Create(TeamAdapter.ToTeamModel(teamBindingModel)) > 0)
     {
         return(Ok(teamBindingModel));
     }
     else
     {
         return(StatusCode(500));
     }
 }
        public async Task GetTeamAsync_WithId_ShouldReturnThisTeam()
        {
            var teamFromService = await this.service.GetTeam(1);

            var bindingModelTest = new TeamBindingModel()
            {
                Name    = string.Format(TestsConstants.Team, 1),
                LogoUrl = string.Format(TestsConstants.Logo, 1)
            };

            Assert.AreEqual(bindingModelTest.LogoUrl, teamFromService.LogoUrl);
            Assert.AreEqual(bindingModelTest.Name, teamFromService.Name);
        }
Esempio n. 15
0
        public async Task <Response <BaseDto> > AddTeamAsync(TeamBindingModel team)
        {
            Response <BaseDto> response = new Response <BaseDto>();
            var teamToAdd = Mapper.Map <Team>(team);

            var addedSuccessfuly = await _teamRepository.AddTeamAsync(teamToAdd);

            if (!addedSuccessfuly)
            {
                response.Errors.Add("Wystapił problem przy dodawaniu drużyny, spróbuj ponownie później");
            }

            return(response);
        }
        public ActionResult CreateNew(TeamBindingModel team)
        {
            if (!ModelState.IsValid)
            {
                return(View("TeamForm", team));
            }

            var newTeam = _factory.CreateNewTeam(team);

            _context.Teams.Add(newTeam);


            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 17
0
        public async Task <IActionResult> AddTeamAsync([FromBody] TeamBindingModel team)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelStateErrors()));
            }

            var result = await _teamService.AddTeamAsync(team);

            if (result.ErrorOccurred)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
        public async Task EditTeamAsync_WithId_ShouldEditCorrectly()
        {
            var bindingModel = new TeamBindingModel
            {
                Name    = string.Format(TestsConstants.EditTeam, 1),
                LogoUrl = string.Format(TestsConstants.EditLogo, 1)
            };

            await service.EditTeam(1, bindingModel);

            var team = this.dbContext.Teams.SingleOrDefault(x => x.Id == 1);

            Assert.AreEqual(1, team.Id);
            Assert.AreEqual(string.Format(TestsConstants.EditTeam, 1), team.Name);
            Assert.AreEqual(string.Format(TestsConstants.EditLogo, 1), team.LogoUrl);
        }
Esempio n. 19
0
        public ActionResult Create()
        {
            var availableCountries      = this.db.Countries.ToList();
            var availableCountriesModel =
                Mapper.Map <IEnumerable <Country>, IEnumerable <CountryBindingModel> >(availableCountries);
            var availableCities      = this.db.Cities.ToList();
            var availableCitiesModel =
                Mapper.Map <IEnumerable <City>, IEnumerable <CityBindingModel> >(availableCities);
            var model = new TeamBindingModel
            {
                AvailableCountries = availableCountriesModel,
                AvailableCities    = availableCitiesModel
            };

            return(View(model));
        }
        public IHttpActionResult Create(TeamBindingModel teamDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var team = _factory.CreateNewTeam(teamDto);

            _context.Teams.Add(team);
            _context.SaveChanges();

            var dto = _factory.FromTeamToDto(team);

            return(Created(new Uri(Request.RequestUri + "/" + dto.Id), dto));
        }
        public static Team ToTeamModel(TeamBindingModel teamBindingModel)
        {
            List <Employee> teamMembers = new List <Employee>();

            foreach (int MemberId in teamBindingModel.MemberIds)
            {
                teamMembers.Add(_employeeService.Get(MemberId));
            }
            Team team = new Team();

            team.TeamId    = teamBindingModel.Id;
            team.LeaderId  = teamBindingModel.LeaderId;
            team.Leader    = _employeeService.Get(teamBindingModel.LeaderId);
            team.TeamName  = teamBindingModel.TeamName;
            team.Employees = teamMembers;
            return(team);
        }
        public async Task <IActionResult> CreateTeam([FromBody] TeamBindingModel newTeam)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var team = await this.teamRepository.AddAsync(
                newTeam.Name,
                newTeam.Members);

            if (team == null)
            {
                return(this.BadRequest());
            }

            return(this.Ok(team));
        }
        public async Task SaveTeamAsync_WithProperTeam_ShouldAddCorrectly()
        {
            var teamToRemove = this.dbContext.Teams.SingleOrDefault(x => x.Id == 1);

            this.dbContext.Teams.Remove(teamToRemove);
            this.dbContext.SaveChanges();

            var teamModel = new TeamBindingModel
            {
                Name    = string.Format(TestsConstants.Team, 1),
                LogoUrl = string.Format(TestsConstants.Logo, 1),
            };

            await this.service.SaveTeam(teamModel);

            Assert.AreEqual(1, this.dbContext.Teams.Count());

            var team = this.dbContext.Teams.Last();

            Assert.AreEqual(string.Format(TestsConstants.Team, 1), team.Name);
            Assert.AreEqual(string.Format(TestsConstants.Logo, 1), team.LogoUrl);
        }
Esempio n. 24
0
        public ActionResult Edit(TeamBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var team = this.db.Teams.Find(model.Id);
                team = Mapper.Map <TeamBindingModel, Team>(model);
                this.db.Teams.AddOrUpdate(a => a.Id, team);
                this.db.SaveChanges();

                var country = this.db.Countries.Find(model.CountryId);
                team         = this.db.Teams.Find(model.Id);
                team.Country = country;
                this.db.Entry(team.Country).State = EntityState.Modified;

                var city = this.db.Cities.Find(model.CityId);
                team.City = city;
                this.db.Entry(team.City).State = EntityState.Modified;
                this.db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
Esempio n. 25
0
        /// <summary>
        /// MapFromTeamTpDto new team based on dto
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public Team CreateNewTeam(TeamBindingModel dto)
        {
            Team team = new Team(dto.Name);

            return(team);
        }