Пример #1
0
        /// <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)
            {
            }
        }
Пример #2
0
 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)
     {
     }
 }