internal ServiceBase(EsendexCredentials credentials) { var httpRequestHelper = new HttpRequestHelper(); var httpResponseHelper = new HttpResponseHelper(); var httpClient = new HttpClient(credentials, Constants.API_URI, httpRequestHelper, httpResponseHelper); Serialiser = new XmlSerialiser(); RestClient = new RestClient(httpClient); }
public OperationResult Post(GenerateSantaResource generate) { var contacts = _provider.Get<Contact>(); var restrictions = _provider.Get<Restriction>(); bool finished = false; while (!finished) { try { var result = _generator.GenerateSantaList(contacts.ToList(), restrictions.ToList()); finished = true; var appDir = AppDomain.CurrentDomain.BaseDirectory; var appDataDir = "App_Data"; var stamp = DateTime.UtcNow.Ticks; var filenameEncoded = string.Format("encoded_{0}_at_{1}.txt",result.Id, stamp); var filenameDecoded = string.Format("decoded_{0}_at_{1}.txt", result.Id, stamp); var encodedFile = Path.Combine(appDir,appDataDir, filenameEncoded); var decodedFile = Path.Combine(appDir, appDataDir, filenameDecoded); SaveDecodedResultTo(decodedFile, result); SaveEncodedResultTo(encodedFile, result); if (generate.SendRealMessages) { var creds = new EsendexCredentials(generate.Username, generate.Password); var messagingService = new MessagingService(true, creds); var texter = new Texter(messagingService); texter.SendMessagesToSantas(result.SantaEntries, generate.Template, generate.Originator, generate.Account); } return new OperationResult.SeeOther { RedirectLocation = typeof(SantaList).CreateUri() }; } catch(Exception ex) { Console.WriteLine("Error creating, trying again...{0}", ex); } } return new OperationResult.InternalServerError(); }