private async Task <Boolean> CreateSubscription(string accessToken, string email = null) { using (var httpClient = new HttpClient()) { SubscriptionRequestData requsetData = new SubscriptionRequestData(); requsetData.OdataType = "#Microsoft.OutlookServices.PushSubscription"; requsetData.Resource = "https://outlook.office.com/api/v2.0/me/Events?$filter=SingleValueExtendedProperties/Any (ep: ep/PropertyId eq 'String {00020329-0000-0000-C000-000000000046} Name cecp-7e24ee5e-204e-4eeb-aa0f-788af20fc21c' and contains(ep/Value, '\"meetingsetby\":\"demo-addin\"'))"; requsetData.NotificationURL = "https://exchangepushnotifications.azurewebsites.net/api/Notify/PushNotificationDemo"; requsetData.ClientState = WebConfigurationManager.AppSettings["clientState"]; requsetData.ChangeType = "Created,Updated,Deleted"; httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken); var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(requsetData)); var httpContent = new StringContent(stringPayload, Encoding.UTF8, "application/json"); var httpResponse = await httpClient.PostAsync("https://outlook.office.com/api/v2.0/me/subscriptions", httpContent); if (httpResponse.IsSuccessStatusCode) { SubscriptionResponseData responseData = await httpResponse.Content.ReadAsAsync <SubscriptionResponseData>(); var dbContext = new DbHelper(); //save subscription details in DB. dbContext.UpdateSubscriptionDetails(email, responseData.Id, responseData.SubscriptionExpirationDateTime); return(true); } else { return(false); } } }
public void InsertSubscription(SubscriptionRequestData requestData) { const string sql = @"INSERT INTO dbo.Subscription ( StudentId, ClassId ) VALUES ( @StudentId, @ClassId )"; DynamicParameters parameters = new DynamicParameters(); parameters.AddDynamicParams( new { StudentId = requestData.StudentId, ClassId = requestData.ClassId }); using (SqlConnection sqlConnection = GetSqlConnection()) { sqlConnection.Execute(sql, parameters); } }
public ActionResult <InsertSubscriptionResponse> Insert([FromBody] SubscriptionRequestData requestData) { InsertSubscriptionRequest request = new InsertSubscriptionRequest(requestData); InsertSubscriptionResponse response = this._insertSubscription.Process(request); if (!response.Success) { return(BadRequest(response)); } return(response); }
public InsertSubscriptionResponse ValidateSubscription(SubscriptionRequestData requestData) { InsertSubscriptionResponse response = new InsertSubscriptionResponse(); if (!this._validator.Execute(requestData.StudentId, response, nameof(requestData.StudentId))) { if (!this._studentRepository.ExistByStudentId(requestData.StudentId)) { response.AddError("023", "StudentId don't exist"); } } if (!this._validator.Execute(requestData.ClassId, response, nameof(requestData.ClassId))) { if (!this._classRepository.ExistByClassId(requestData.ClassId)) { response.AddError("022", "ClassId don't exist"); } } return(response); }
public void PerformFor(SubscriptionRequestData requestData) { }
public InsertSubscriptionRequest(SubscriptionRequestData requestData) { Data = requestData; }