예제 #1
0
        public async Task <IActionResult> createMeeting([FromBody] CreateMeetingDTO model)
        {
            try
            {
                var isAuth = HttpContext.Request.Headers.ContainsKey("Authorization");
                if (!isAuth)
                {
                    return(Unauthorized("You dont have a valid api key"));
                }
                var apiKey = HttpContext.Request.Headers["Authorization"].FirstOrDefault().ToString();
                var apiNew = apiKey.Split(" ")[1];
                var result = await this._meetingService.createMeeting(apiNew, model);

                return(new OkObjectResult(result));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Internal server error: {ex}"));
            }
        }
예제 #2
0
        public async Task <ActionResult <CreateMeetingDTO> > CreateMeeting(CreateMeetingDTO meetingDto)
        {
            var meeting = _mapper.Map <CreateMeetingDTO, Meeting>(meetingDto);

            var user = await _userManager.FindByEmailAsync(HttpContext.User?.Claims?.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value);

            meeting.OrganizerId = user.Id;

            meeting.UserMeeting = new List <UserMeeting>
            {
                new UserMeeting
                {
                    User    = user,
                    Meeting = meeting
                }
            };

            _unitOfWork.Repository <Meeting>().Create(meeting);
            await _unitOfWork.Complete();

            return(Ok(meetingDto));
        }
예제 #3
0
        public async Task <IActionResult> Create(CreateMeetingDTO model)
        {
            if (ModelState.IsValid)
            {
                List <VoteDTO> ListOfVotes;
                try
                {
                    ListOfVotes = (List <VoteDTO>)JsonConvert.DeserializeObject(model.Json, typeof(List <VoteDTO>));
                }
                catch (Exception)
                {
                    return(View(model));
                }

                if (model.Text != null && !ListOfVotes.Any(x => x.Yes < 0 || x.No < 0 || x.Text == ""))
                {
                    await meetingsService.CreateMeeting(model.Text, ListOfVotes);

                    return(Redirect("/Meetings/All"));
                }
            }
            return(View(model));
        }
예제 #4
0
        public async Task <MeetingViewModel> createMeeting(string apiToken, CreateMeetingDTO meetingRequest)
        {
            try
            {
                var createdMeetingDTO = new CreatedMeetingDTO();
                var meetingViewModel  = new MeetingViewModel();
                var url           = _configuration.GetSection("ZoomEndpoints:Endpoints:3:url").Value;
                var currentUserID = await _userService.getcurrentUserDetails(apiToken);

                url = url.Replace("userId", currentUserID.id);//String Format can be used here
                var payload = JsonConvert.SerializeObject(meetingRequest);
                using (var httpClient = new HttpClient())
                {
                    HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiToken);
                    var response = await httpClient.PostAsync(url, content);

                    if (response.StatusCode == System.Net.HttpStatusCode.Created)
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        var res = JsonConvert.DeserializeObject <CreatedMeetingDTO>(apiResponse);
                        createdMeetingDTO = res;
                        meetingViewModel  = _mapper.Map <MeetingViewModel>(createdMeetingDTO);
                    }
                    else
                    {
                        throw new Exception(response.StatusCode.ToString());
                    }
                }
                return(meetingViewModel);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }