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); }
/// <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); }); }