public IEnumerable <OfflineResponseModel> SynchronizeOffline([FromBody] List <OfflineRequestModel> offlineChanges, string CountryContext = "PLN")
        {
            List <HttpResponseMessage> results = new List <HttpResponseMessage>();

            TryToSynchronize(offlineChanges, results, CountryContext);

            List <OfflineRequestModel> repeatOfflineChanges = new List <OfflineRequestModel>();
            List <int> repeatIndexes = new List <int>();

            for (int i = 0; i < results.Count(); i++)
            {
                if (!results[i].IsSuccessStatusCode)
                {
                    repeatOfflineChanges.Add(offlineChanges[i]);
                    repeatIndexes.Add(i);
                }
            }

            List <HttpResponseMessage> repeatResults = new List <HttpResponseMessage>();

            TryToSynchronize(repeatOfflineChanges, repeatResults, CountryContext);

            for (int i = 0; i < repeatResults.Count(); i++)
            {
                results[repeatIndexes[i]] = repeatResults[i];
            }

            List <OfflineResponseModel> returnedResults = new List <OfflineResponseModel>();

            for (int i = 0; i < results.Count(); i++)
            {
                var result        = results[i];
                var offlineChange = offlineChanges[i];

                OfflineResponseModel response = new OfflineResponseModel()
                {
                    IsSuccessStatusCode = result.IsSuccessStatusCode,
                    ReasonPhrase        = result.ReasonPhrase,
                    StatusCode          = result.StatusCode,
                    changeType          = offlineChange.changeType,
                    commentary          = offlineChange.commentary
                };
                returnedResults.Add(response);
            }

            return(returnedResults);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Mail Gönderimi
        /// </summary>
        /// <param name="mailAddress">Mail gönderilecek adress</param>
        /// <param name="messageBody">Mailin Detayı</param>
        /// <param name="subject">Mailin Konusu</param>
        public void SendMailLicenseInfoAsync(LisansModel lisansModel)
        {
            ThreadPool.QueueUserWorkItem(delegate
            {
                OfflineResponseModel offlineResponseModel = new OfflineResponseModel();
                ObjectMapper.ObjectMapper.Map(offlineResponseModel, lisansModel);
                var serializeObject   = JsonConvert.SerializeObject(offlineResponseModel);
                var offlineProductKey = LisansHelper.Instance.GetBase64String(serializeObject);

                var messageBody = GetMessageBody(lisansModel.OnlineProductKey, offlineProductKey, lisansModel.HardwareId);

                var message = new MimeMessage();

                message.From.Add(new MailboxAddress(_mailUser));
                message.To.Add(new MailboxAddress(lisansModel.Email));
                message.Subject = "Oyis Lisans Bilgi";
                message.Body    = messageBody.ToMessageBody();

                SendMail(message);
            });
        }