public ActivitySyncService(ILog log, RetrieverSettings settings, ICrmService crmService, IAnytimeCollectService anytimeCollectService) { _log = log; _settings = settings; _crmService = crmService; _anytimeCollectService = anytimeCollectService; }
static async Task Main(string[] args) { RetrieverSettings settings = new RetrieverSettings(); using (var reader = new StreamReader(Directory.GetCurrentDirectory() + "/retrieversettings.json")) { settings = JsonConvert.DeserializeObject <RetrieverSettings>(reader.ReadToEnd()); } var crmService = new CrmService(log, settings); var anytimeCollectService = new AnytimeCollectService(log); var activitySyncService = new ActivitySyncService(log, settings, crmService, anytimeCollectService); await activitySyncService.SyncCrmActivity(); }
/// <summary> /// Instantiates instance of the CrmService class /// </summary> /// <param name="log">ILog object for logging</param> /// <param name="settings">RetrieverSettings object to use</param> public CrmService(ILog log, RetrieverSettings settings) { _log = log; _settings = settings; string conn = $@" Url = {_settings.Login.Url}; AuthType = Office365; UserName = {_settings.Login.Username}; Password = {_settings.Login.Password}; RequireNewInstance = True"; log.Info($"Connecting with {_settings.Login.Url} and username {_settings.Login.Username}"); ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; CrmServiceClient svc = new CrmServiceClient(conn); _crmServiceClient = svc.OrganizationServiceProxy; }