Esempio n. 1
0
        /// <summary>
        /// Add crewleader to crew with specific ID
        /// </summary>
        /// <param int="crewId"></param>
        /// <param string="userId"></param>
        public async Task AddCrewLeaderAsync(int crewId, string userId)
        {
            if (userId == null || crewId <= 0)
            {
                throw new HttpException(HttpStatusCode.BadRequest, "Mangler ID på arbeidslag eller bruker");
            }

            var existingCrewUser = await _dbContext.CrewUsers
                                   .Where(a => a.CrewId == crewId && a.ApplicationUserId == userId)
                                   .SingleOrDefaultAsync();

            if (existingCrewUser != null)
            {
                existingCrewUser.IsLeader = true;
            }
            else
            {
                var crewUser = new CrewUser
                {
                    ApplicationUserId = userId,
                    IsLeader          = true,
                    CrewId            = crewId
                };

                _dbContext.CrewUsers.Add(crewUser);
            }

            await _dbContext.SaveChangesAsync();
        }
Esempio n. 2
0
        /// <summary>
        /// Add crewmember to crew with specific ID
        /// </summary>
        /// <param name="crewId"></param>
        /// <param name="userId"></param>
        public async Task AddCrewMemberAsync(int crewId, string userId)
        {
            if (userId == null || crewId <= 0)
            {
                throw new HttpException(HttpStatusCode.BadRequest, "Mangler ID på arbeidslag eller bruker");
            }

            var existingCrewUser = await _dbContext.CrewUsers
                                   .Where(a => a.CrewId == crewId && a.ApplicationUserId == userId)
                                   .SingleOrDefaultAsync();

            if (existingCrewUser != null)
            {
                throw new HttpException(HttpStatusCode.Conflict, $"Bruker: {existingCrewUser.ApplicationUser.FirstName} er allerede lagt til i arbeidslaget");
            }

            var crewUser = new CrewUser
            {
                ApplicationUserId = userId,
                IsLeader          = false,
                CrewId            = crewId
            };

            _dbContext.CrewUsers.Add(crewUser);
            await _dbContext.SaveChangesAsync();
        }
        public async Task ShouldAddCrewMember()
        {
            await CreateCrew(_crewName2);

            Crew     crew2    = _dbContext.Crews.Find(2);
            CrewUser crewUser = _dbContext.CrewUsers.Find(1);

            CrewService    crewService    = new CrewService(_dbContext, _mainEventProvider);
            CrewController crewController = new CrewController(crewService);

            ActionResult <List <CrewMembersListVm> > result = await crewController.GetCrewMembersAsync(crew2.Id);

            List <CrewMembersListVm> returnedCrewMembers = (List <CrewMembersListVm>)((OkObjectResult)result.Result).Value;

            Assert.AreEqual(0, returnedCrewMembers.Count);

            await crewController.AddCrewMemberAsync(crew2.Id, _createdUser1.Entity.Id);

            result = await crewController.GetCrewMembersAsync(crew2.Id);

            returnedCrewMembers = (List <CrewMembersListVm>)((OkObjectResult)result.Result).Value;
            Assert.AreEqual(1, returnedCrewMembers.Count);
            Assert.AreEqual(_createdUser1.Entity.Id, returnedCrewMembers[0].Id);
        }