コード例 #1
0
        public ActionResult Put(string name, [FromBody] MeetupDto model)
        {
            var meetup = _meetupContext.Meetups
                         .FirstOrDefault(m => m.Name.Replace(" ", "-").ToLower() == name.ToLower());

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

            var authorizationResult = _authorizationService
                                      .AuthorizeAsync(User, meetup, new ResourceOperationRequirement(OperationType.Update)).Result;

            if (!authorizationResult.Succeeded)
            {
                return(Forbid());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            meetup.Name      = model.Name;
            meetup.Organizer = model.Organizer;
            meetup.Date      = model.Date;
            meetup.IsPrivate = model.IsPrivate;

            _meetupContext.SaveChanges();

            return(NoContent());
        }
コード例 #2
0
        public ActionResult Post([FromBody] MeetupDto newMeetup)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values));
            }

            var meetup = _mapper.Map <Meetup>(newMeetup);

            _meetupContext.Meetups.Add(meetup);
            _meetupContext.SaveChanges();

            return(Created($"szym/meetup/{meetup.Name.Replace(" ", "-").ToLower()}", null));
        }
コード例 #3
0
        public ActionResult Post([FromBody] MeetupDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var meetup = _mapper.Map <Meetup>(model);

            _meetupContext.Add(meetup);
            _meetupContext.SaveChanges();
            var key = meetup.Name.Replace(" ", "-").ToLower();

            return(Created("api/meetup/" + key, null));
        }
コード例 #4
0
        public ActionResult Post([FromBody] MeetupDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState)); // does Required field are valid and mindlenght in MeetupDto
            }

            var meetup = Mapper.Map <Meetup>(model); // map model on Meetup

            MeetupContext.Meetups.Add(meetup);
            MeetupContext.SaveChanges();

            var key = meetup.Name.Replace(" ", "-").ToLower();

            return(Created("api/meetups/" + key, null));
        }
コード例 #5
0
        public ActionResult Post([FromBody] MeetupDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var meetup = _mapper.Map <Meetup>(model);

            var userId = User.FindFirst(c => c.Type == ClaimTypes.NameIdentifier).Value;

            meetup.CreatedById = int.Parse(userId);

            _meetupContext.Meetups.Add(meetup);
            _meetupContext.SaveChanges();
            var key = meetup.Name.Replace(" ", "-").ToLower();

            return(Created($"/api/meetup/{key}", null));
        }
コード例 #6
0
        public IActionResult Get(int id)
        {
            var meetup = _repository.Load(id);

            var meetupDto = new MeetupDto
            {
                Id             = meetup.Id,
                Name           = meetup.Name,
                AvailableSeats = meetup.AvailableSeats,
                Participants   = meetup.SeatReservations.Select(x => new ParticipantDto
                {
                    UserId      = x.ParticipantUserId,
                    DisplayName = x.ParticipantUser.DisplayName
                }).ToList()
            };

            return(Ok(meetupDto));
        }
コード例 #7
0
        public IActionResult GetUsingSecondQuery(int id)
        {
            var meetup          = _repository.Load(id);
            var participantsIds = meetup.SeatReservations.Select(x => x.ParticipantUserId);
            var userProfiles    = _userProfileRepository.LoadRange(participantsIds)
                                  .ToDictionary(x => x.Id);

            var meetupDto = new MeetupDto
            {
                Id   = meetup.Id,
                Name = meetup.Name,
                TotalAvailableSeats = meetup.TotalAvailableSeats,
                Participants        = meetup.SeatReservations.Select(x => new ParticipantDto
                {
                    UserId      = x.ParticipantUserId,
                    DisplayName = userProfiles[x.ParticipantUserId].DisplayName
                }).ToList()
            };

            return(Ok(meetupDto));
        }
コード例 #8
0
        public ActionResult Put(string name, [FromBody] MeetupDto model)
        {
            var meetup = _meetupContext.Meetups
                         .FirstOrDefault(m => m.Name.Replace(" ", "-").ToLower() == name.ToLower());

            if (meetup == null)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            meetup.Name      = model.Name;
            meetup.Organizer = model.Organizer;
            meetup.Date      = model.Date;
            meetup.IsPrivate = model.IsPrivate;

            _meetupContext.SaveChanges();

            return(NoContent());
        }
コード例 #9
0
        public ActionResult Put(string name, [FromBody] MeetupDto model)
        {
            var meetup = MeetupContext.Meetups
                         .FirstOrDefault(m => m.Name.Replace(" ", "-").ToLower() == name.Replace(" ", "-").ToLower());

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

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState)); // does Required field are valid and mindlenght in MeetupDto
            }

            meetup.Name      = model.Name;
            meetup.Organizes = model.Organizes;
            meetup.Date      = model.Date;
            meetup.IsPrivate = model.IsPrivate;

            MeetupContext.SaveChanges();
            return(NoContent());
        }
        public IActionResult Details(Guid id)
        {
            MeetupDto meetup = provider.GetMeetup(id);

            return(View(meetup));
        }