/// <summary> /// This method get invoke contentder scheduler to fetch mail on schedule date and send mail. /// </summary> /// <param name="ScheduleOn"></param> /// <returns></returns> private async void SendMailFromContentder(DateTime ScheduleOn, string DomainName) { try { string scheduleOn = ScheduleOn.ToString("yyyy-MM-dd HH:mm:ss"); FetchRest fetchRest = new FetchRest(); SettingHelper settingHelper = new SettingHelper(_memoryCache); string configurecode = settingHelper.GetCachedSettingValue(SettingKeys.Configurecode); ClientRequestInfo clientRequest = new ClientRequestInfo(); clientRequest.Sender = DomainName; clientRequest.RequestType = 1; clientRequest.ExecuteOn = scheduleOn; string PostData = JsonConvert.SerializeObject(clientRequest); string MassMailRequestURL = ContentderAPI.AutomatedTaskRequest; Uri URI = new Uri(MassMailRequestURL); HttpResponseMessage responseMessage = await Task.Run(() => fetchRest.PostData(DomainName, configurecode, URI, PostData)); if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK) { var responseContent = await responseMessage.Content.ReadAsStringAsync().ConfigureAwait(false); PostResponse postResponse = JsonConvert.DeserializeObject <PostResponse>(responseContent); if (postResponse.Code == (int)ePostResponseCode.PackageLimitExceed) { MassMailProvider mailProvider = new MassMailProvider(); _ = mailProvider.UpdateStausOfMail(ScheduleOn, eEmailStatus.LimitExceeded); } } } catch (Exception) { } }
private void CallAPIForMail(string ScheduleOn) { try { FetchRest fetchRest = new FetchRest(); string configurecode = Config.GetSetting("configurecode").ToString(); string DomainName = HttpContext.Current.Request.Url.Host; string PostData = "{'sender':'" + DomainName + "','RequestType':1,'ExecuteOn':'" + ScheduleOn + "' }"; string MassMailRequestURL = APIEndPoint.AutomatedTaskRequest; Uri URI = new Uri(MassMailRequestURL); HttpResponseMessage response = fetchRest.PostData(DomainName, configurecode, URI, PostData); if (response.IsSuccessStatusCode) { } } catch (Exception) { } }