protected HttpRequestMessage CreateCommandRequest(eRequestCommand command, string dataContainingFolder, string dataFileName = null) { if (dataFileName == null) { dataFileName = string.Format("{0}Request.xml", command); } var url = string.Format("{0}Microsoft-Server-ActiveSync?Cmd={1}", hostAddress, command); var request = new HttpRequestMessage { RequestUri = new Uri(url), Method = HttpMethod.Post }; request.Headers.Add("Authorization", "Bearer " + _accessToken); //TODO: Add DeviceInfo //TODO: Add Request Header //Add Request Content var xmlRequestPath = string.Format("TestData/{0}/{1}", dataContainingFolder, dataFileName); var wbxmlContent = LoadXmlFileAsWBXML(xmlRequestPath); request.Content = new ByteArrayContent(wbxmlContent); return(request); }
//TODO: Reflection public static IRequestHandler GetHandler(eRequestCommand command) { switch (command) { case eRequestCommand.FolderSync: return(new FolderSyncRequest()); case eRequestCommand.FolderCreate: return(new FolderCreateRequest()); case eRequestCommand.FolderDelete: return(new FolderDeleteRequest()); case eRequestCommand.FolderUpdate: return(new FolderUpdateRequest()); case eRequestCommand.Sync: return(new SyncRequest()); //case eRequestCommand.Ping: // return new PingRequest(); //case eRequestCommand.SendMail: // return new SendMailRequest(); //case eRequestCommand.SmartReplay: // return new SmartReplayRequest(); //case eRequestCommand.SmartForward: // return new SmartForwardRequest(); //case eRequestCommand.GetItemEstimate: // return new GetItemEstimateRequest(); //case eRequestCommand.ItemOperations: // return new ItemOperationsRequest(); //case eRequestCommand.Search: // return new SearchRequest(); default: break; } return(null); }