Пример #1
0
        /// <summary>
        /// //Metodo che chiama la web api per inviare gli eventi. I due parametri verrano usati per creare I due eventi
        /// </summary>
        /// <param name="summaryModel"></param>
        /// <param name="streamModel"></param>
        /// <returns></returns>


        private bool CallWebApi(PECMailErrorSummaryModel summaryModel, PECMailErrorStreamModel streamModel)
        {
            try
            {
                EventErrorStreamPECMail eventStream = new EventErrorStreamPECMail(streamModel.CorrelatedId,
                                                                                  DocSuiteContext.Current.CurrentTenant.TenantName, DocSuiteContext.Current.CurrentTenant.TenantId,
                                                                                  new IdentityContext(DocSuiteContext.Current.User.FullUserName), streamModel);

                EventErrorSummaryPECMail eventSummary = new EventErrorSummaryPECMail(streamModel.CorrelatedId,
                                                                                     DocSuiteContext.Current.CurrentTenant.TenantName, DocSuiteContext.Current.CurrentTenant.TenantId,
                                                                                     new IdentityContext(DocSuiteContext.Current.User.FullUserName), summaryModel);

                var webApiHelper = new WebAPIHelper();

                #region Spedizione Evento summary alle web api

                FileLogger.Info(_moduleName, "Spedizione dell\'evento summary alle WebAPI");
                bool sended = webApiHelper.SendRequest(DocSuiteContext.Current.CurrentTenant.WebApiClientConfig, DocSuiteContext.Current.CurrentTenant.WebApiClientConfig, eventSummary, string.Empty);
                if (!sended)
                {
                    FileLogger.Warn(_moduleName, "La fase di invio dell\'evento alle Web API non è avvenuta correttamente. Vedere log specifico per maggiori dettagli");
                    FileLogger.Info(_moduleName, "E' avvenuto un errore durante la fase di invio dell'evento EventErrorSummaryPecMail alle WebAPI");
                }
                FileLogger.Info(_moduleName, "Spedizione dell\'evento EventErrorSummaryPecMail alle WebAPI avvenuto correttamente");

                #region old (working) implementation
                //using (HttpClient _client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }))
                //{
                //    var content = new ObjectContent<EventErrorSummaryPECMail>(eventSummary, new JsonMediaTypeFormatter()
                //    {
                //        SerializerSettings = DocSuiteContext.DefaultWebAPIJsonSerializerSettings
                //    });
                //    var httpResponseMessage = _client.PostAsync("http://10.11.1.65:90/DSW.WebAPI/api/sb/Topic", content).Result;
                //};
                #endregion

                #endregion

                #region Spedizione Evento stream alle web api

                FileLogger.Info(_moduleName, "Spedizione dell\'evento stream alle WebAPI");
                sended = webApiHelper.SendRequest(DocSuiteContext.Current.CurrentTenant.WebApiClientConfig, DocSuiteContext.Current.CurrentTenant.WebApiClientConfig, eventStream, string.Empty);
                if (!sended)
                {
                    FileLogger.Warn(_moduleName, "La fase di invio dell\'evento alle Web API non è avvenuta correttamente. Vedere log specifico per maggiori dettagli");
                    FileLogger.Info(_moduleName, "E' avvenuto un errore durante la fase di invio dell'evento EventErrorStreamPecMail alle WebAPI");
                }
                FileLogger.Info(_moduleName, "Spedizione dell\'evento EventErrorStreamPecMail alle WebAPI avvenuto correttamente");

                #endregion

                return(true);
            }
            catch (Exception e)
            {
                FileLogger.Error(_moduleName, $"Error occured: " + e.Message);
                return(false);
            }
        }