public IActionResult CreateMeetings([FromBody] CreateMeetingDto createMeetingDto) { if (createMeetingDto.Quantity == "one") { var meeting = _mapper.Map <Meetings>(createMeetingDto); _context.Meetings.Add(meeting); _context.SaveChanges(); } else if (createMeetingDto.Quantity == "all") { var offices = _context.Offices; foreach (Offices o in offices) { var meeting = _mapper.Map <Meetings>(createMeetingDto); meeting.OfficeId = Convert.ToInt32(o.Id); _context.Meetings.Add(meeting); } _context.SaveChanges(); } else { throw new AppException("Offices quantity is required"); } return(Ok()); }
public IActionResult AddMeeting([FromBody] CreateMeetingDto meetingDto) { if (meetingDto == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } var meetingTitleExists = _db.Meetings.Any(x => x.Title == meetingDto.Title); if (meetingTitleExists) { ModelState.AddModelError("MeetingTitle", "عنوان قبلا استفاده شده است."); return(StatusCode(409, ModelState)); } var meeting = _mapper.Map <Meeting>(meetingDto); try { _db.Meetings.Add(meeting); _db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(StatusCode(500, ModelState)); } var meetingResult = _mapper.Map <MeetingDto>(meeting); return(CreatedAtRoute("GetMeeting", new { meetingId = meeting.Id }, meetingResult)); }
public async Task <IActionResult> Create([FromQuery] CreateMeetingDto dto, [FromBody] Modules modules) { var existingMeeting = await _appDbContext.Meetings.FirstOrDefaultAsync(m => m.Running && m.MeetingID == dto.MeetingId); if (existingMeeting != null) { var earlyResponse = _mapper.Map <CreateResponse>(existingMeeting); earlyResponse.ReturnCode = "SUCCESS"; earlyResponse.MessageKey = "duplicateWarning"; earlyResponse.Message = "This conference was already in existence and may currently be in progress."; return(Ok(earlyResponse)); } var server = await GetAvailableServer(); if (server == null) { return(Ok(new BaseBBBResponse { ReturnCode = "FAILED", MessageKey = "unavailableServer", Message = "[BigBlueBalancer] Unavailble server" })); } var request = _mapper.Map <CreateRequest>(dto); var response = await _bbbClient.Create(server.Url, server.Secret, request, modules); if (response.ReturnCode == "SUCCESS") { var meeting = _mapper.Map <Entities.Meeting>(response); meeting.Running = true; server.Meetings.Add(meeting); await _appDbContext.SaveChangesAsync(); } return(Ok(response)); }
public virtual async Task <OperationResult> CreateNewMeeting([FromBody] CreateMeetingDto input) { try { MeetingDTOInput meeting = input.Build(); var trace = new StringBuilder(); var ac = this.GetAdminProvider(); //// TRICK: new don't care about this settings - cause there is a check UseUserFolder==false //bool useLmsUserEmailForSearch = true; var useLmsUserEmailForSearch = !string.IsNullOrEmpty(input.ApiLtiParam.lis_person_contact_email_primary); var fb = new MeetingFolderBuilder((LmsCompany)LmsCompany, ac, useLmsUserEmailForSearch, LmsMeetingType.Meeting); /* * // tool_consumer_info_product_family_code : canvas * // https://esynctraining.instructure.com/courses/231/external_tools/84 * var apiTest = input.ApiLtiParam; * apiTest.tool_consumer_info_product_family_code = "canvas"; * apiTest.course = "231"; * apiTest.course_name= "Regression"; * //apiTest.context_label = "Regression"; * //apiTest.context_title = "Regression"; * * apiTest.lms_user_login = "******"; // custom_canvas_user_login_id * apiTest.lis_person_contact_email_primary = "*****@*****.**"; * * apiTest.referer = "https://esynctraining.instructure.com/courses/231/external_tools/84"; * apiTest.lms_user_id = "1"; // custom_canvas_user_id * * apiTest.lis_person_name_given = "Mike"; * apiTest.lis_person_name_family = "Kollen"; */ // tool_consumer_info_product_family_code: sakai // SAKAI: 091887fe-a54e-47d6-8e2a-f386f1d24426 // course id = test_lti /*var apiTest = input.ApiLtiParam; * apiTest.course = "test_lti"; * apiTest.tool_consumer_info_product_family_code = "sakai"; * apiTest.course_name = "Test LTI site"; * //apiTest.context_label = "Test LTI site"; * //apiTest.context_title = "Test LTI site"; * apiTest.lis_person_contact_email_primary = "*****@*****.**"; * // ??? HEADER?? * apiTest.referer = "http://sakai11.esynctraining.com/access/basiclti/site/test_lti/e8efacd7-f9eb-4cd5-9993-07d992666617"; * * apiTest.lms_user_login = "******"; // sakai: lis_person_sourcedid * apiTest.lms_user_id = "admin"; // sakai: user_id * * apiTest.lis_person_name_given = "Sakai"; * apiTest.lis_person_name_family = "Administrator"; * * apiTest.ext_ims_lis_memberships_url = "http://sakai11.esynctraining.com/imsblis/service/"; * //apiTest.ext_ims_lti_tool_setting_url = "http://sakai11.esynctraining.com/imsblis/service/"; * apiTest.ext_ims_lis_memberships_id = "e4edb1c55e145b06d1390111d5d5590689834fe2a1882f301b10f397a89627bb:::admin:::e8efacd7-f9eb-4cd5-9993-07d992666617"; */ OperationResult ret = await _meetingSetup.SaveMeeting( LmsCompany, ac, input.ApiLtiParam, meeting, trace, fb); return(ret); } catch (Exception ex) { string errorMessage = GetOutputErrorMessage("UpdateMeeting", ex); return(OperationResult.Error(errorMessage)); } }
public Guid PostMeeting(CreateMeetingDto meeting) { return(_client.CreateMeeting(meeting)); }