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}")); } }
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)); }
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)); }
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; } }