示例#1
0
        private void TestCm()
        {
            List <Sync.BL.Entities.List> cmList;

            this.Dispatcher.Invoke((Action)(() =>
            {
                cmSettings = new CMSettings()
                {
                    UserName = CMUserName.Text,
                    Password = CMPassword.Password,
                    ApiKey = CMApiKey.Text
                };
            }));

            try
            {
                cmRepo = new CMRepository(cmSettings);
                Client cmClient = cmRepo.GetClients().FirstOrDefault();
                cmList = cmRepo.GetLists(cmClient.ClientId);
                this.Dispatcher.Invoke((Action)(() =>
                {
                    MessageBox.Show(Application.Current.MainWindow, "Connection is OK");
                    TestingScreen.Visibility = System.Windows.Visibility.Hidden;
                }));
            }
            catch
            {
                this.Dispatcher.Invoke((Action)(() =>
                {
                    MessageBox.Show(Application.Current.MainWindow, "Test failed!");
                    TestingScreen.Visibility = System.Windows.Visibility.Hidden;
                }));
            }
        }
示例#2
0
        private void readRegistry()
        {
            CMSettings  cmSettings  = ConnectionSettingsManager.GetCMSettings();
            CRMSettings crmSettings = ConnectionSettingsManager.GetCRMSettings();
            int         refreshRate = ServiceSettingsManager.GetRefreshRate();

            if (cmSettings != null)
            {
                CMUserName.Text     = cmSettings.UserName;
                CMPassword.Password = cmSettings.Password;
                CMApiKey.Text       = cmSettings.ApiKey;
            }
            if (crmSettings != null)
            {
                CRMUserName.Text     = crmSettings.UserName;
                CRMPassword.Password = crmSettings.Password;
                CRMDomain.Text       = crmSettings.Domain;
                CRMUrl.Text          = crmSettings.Url;
                if (crmSettings.ProtocolSSH)
                {
                    CRMProtocol.SelectedIndex = 1;
                }
                else
                {
                    CRMProtocol.SelectedIndex = 0;
                }
            }

            RefreshRate.Text = refreshRate.ToString();
        }
示例#3
0
        private void readRegistry()
        {
            CMSettings  cmSettings  = ConnectionSettingsManager.GetCMSettings();
            CRMSettings crmSettings = ConnectionSettingsManager.GetCRMSettings();

            if (cmSettings != null)
            {
                CMUserName.Text     = cmSettings.UserName;
                CMPassword.Password = cmSettings.Password;
                CMApiKey.Text       = cmSettings.ApiKey;
            }
            if (crmSettings != null)
            {
                CRMUserName.Text     = crmSettings.UserName;
                CRMPassword.Password = crmSettings.Password;
                CRMDomain.Text       = crmSettings.Domain;
                CRMUrl.Text          = crmSettings.Url;
                if (crmSettings.ProtocolSSH)
                {
                    CRMProtocol.SelectedIndex = 1;
                }
                else
                {
                    CRMProtocol.SelectedIndex = 0;
                }
            }

            //RegistryKey rk = Registry.CurrentUser.OpenSubKey("Software", true);
            //if (rk.OpenSubKey("CM_CRM_Sync") == null)
            //{
            //    rk.CreateSubKey("CM_CRM_Sync");
            //    rk.SetValue("CMUserName", "null");
            //    rk.SetValue("CMPassword", "null");
            //    rk.SetValue("CMApiKey", "null");
            //    rk.SetValue("CRMPassword", "null");
            //    rk.SetValue("CRMUserName", "null");
            //    rk.SetValue("CRMDomain", "null");
            //    rk.SetValue("CRMUrl", "null");
            //    rk.SetValue("CRMProtocol", "null");
            //}

            //if (!rk.GetValue("CMUserName").ToString().Equals("null"))
            //    CMUserName.Text = rk.GetValue("CMUserName").ToString();
            //if (!rk.GetValue("CMPassword").ToString().Equals("null"))
            //    CMPassword.Password = rk.GetValue("CMPassword").ToString();
            //if (!rk.GetValue("CMApiKey").ToString().Equals("null"))
            //    CMApiKey.Text = rk.GetValue("CMApiKey").ToString();
            //if (!rk.GetValue("CRMPassword").ToString().Equals("null"))
            //    CRMPassword.Password = rk.GetValue("CRMPassword").ToString();
            //if (!rk.GetValue("CRMUserName").ToString().Equals("null"))
            //    CRMUserName.Text = rk.GetValue("CRMUserName").ToString();
            //if (!rk.GetValue("CRMDomain").ToString().Equals("null"))
            //    CRMDomain.Text = rk.GetValue("CRMDomain").ToString();
            //if (!rk.GetValue("CRMUrl").ToString().Equals("null"))
            //    CRMUrl.Text = rk.GetValue("CRMUrl").ToString();
            //if (rk.GetValue("CRMProtocol").ToString().Equals("HTTPS"))
            //    CRMProtocol.SelectedIndex = 1;
            //else
            //    CRMProtocol.SelectedIndex = 0;
        }
示例#4
0
        public void AddSubscribersTest()
        {
            CMSettings settings = new CMSettings();

            settings.ApiKey = "4a087dfc720e09d91e8cb5cae9db51d5"; //Hard Coded
            ICMRepository repo       = new CMRepository(settings);
            List <Client> clientList = repo.GetClients();
            List <List>   list       = repo.GetLists(clientList.Find(x => x.Name == "Hal").ClientId.ToString());
            //Create Test Subscribers
            List <Subscriber> importSubscribers = new List <Subscriber>()
            {
                new Subscriber()
                {
                    E_mail = "*****@*****.**", Name = "Joze"
                },
                new Subscriber()
                {
                    E_mail = "*****@*****.**", Name = "Miha"
                },
                new Subscriber()
                {
                    E_mail = "*****@*****.**", Name = "Mojca"
                }
            };

            //Import Subscribers
            repo.AddSubscribers(list.Find(x => x.Name == "Crm").ListId.ToString(), importSubscribers);
            //Test inported subscribers
            List <Subscriber> subscribers = repo.GetAciveSubscribers(list.Find(x => x.Name == "Crm").ListId.ToString());

            Assert.IsNotNull(subscribers.Find(x => x.E_mail == "*****@*****.**"));
        }
示例#5
0
 private void InitializeRepository()
 {
     cmSettings  = ConnectionSettingsManager.GetCMSettings();
     cmRepo      = new CMRepository(cmSettings);
     crmSettings = ConnectionSettingsManager.GetCRMSettings();
     crmRepo     = new CRMRepository(crmSettings);
 }
示例#6
0
        public void ClientsTest()
        {
            CMSettings settings = new CMSettings();

            settings.ApiKey = "4a087dfc720e09d91e8cb5cae9db51d5"; //Hard Coded
            ICMRepository repo = new CMRepository(settings);
            List <Client> list = repo.GetClients();

            Assert.IsNotNull(list.Find(x => x.Name == "Hal"));
        }
示例#7
0
        private void Save_Click(object sender, RoutedEventArgs e)
        {
            CMSettings  cmSettings;
            CRMSettings crmSettings;

            cmSettings = new CMSettings()
            {
                UserName = CMUserName.Text,
                Password = CMPassword.Password,
                ApiKey   = CMApiKey.Text
            };

            bool protocilSsh;

            if (CRMProtocol.SelectedIndex == 0)
            {
                protocilSsh = false;
            }
            else
            {
                protocilSsh = true;
            }

            crmSettings = new CRMSettings()
            {
                UserName    = CRMUserName.Text,
                Password    = CRMPassword.Password,
                Domain      = CRMDomain.Text,
                Url         = CRMUrl.Text,
                ProtocolSSH = protocilSsh
            };

            ConnectionSettingsManager.SetCMSettings(cmSettings);
            ConnectionSettingsManager.SetCRMSettings(crmSettings);



            //RegistryKey rk = Registry.CurrentUser.OpenSubKey("Software", true);
            //rk.OpenSubKey("CM_CRM_Sync");
            //rk.SetValue("CMUserName", CMUserName.Text);
            //rk.SetValue("CMPassword", CMPassword.Password);
            //rk.SetValue("CMApiKey", CMApiKey.Text);
            //rk.SetValue("CRMUserName", CRMUserName.Text);
            //rk.SetValue("CRMPassword", CRMPassword.Password);
            //rk.SetValue("CRMDomain", CRMDomain.Text);
            //rk.SetValue("CRMUrl", CRMUrl.Text);
            //if (CRMProtocol.SelectedIndex == 0)
            //    rk.SetValue("CRMProtocol", "HTTP");
            //else
            //    rk.SetValue("CRMProtocol", "HTTPS");

            MessageBox.Show("Settings saved successfully");
            SettingsWindow.Close();
        }
示例#8
0
        public void UnsubscribedSubscribersTest()
        {
            CMSettings settings = new CMSettings();

            settings.ApiKey = "4a087dfc720e09d91e8cb5cae9db51d5"; //Hard Coded
            ICMRepository     repo        = new CMRepository(settings);
            List <Client>     clientList  = repo.GetClients();
            List <List>       list        = repo.GetLists(clientList.Find(x => x.Name == "Hal").ClientId.ToString());
            List <Subscriber> subscribers = repo.GetUnsubscribedSubscribers(list.Find(x => x.Name == "Crm").ListId.ToString());

            Assert.IsNull(subscribers.Find(x => x.Name == "Xxxxx Yyyyy"));
        }
示例#9
0
        public void ActiveSubscribersByTimeTest()
        {
            CMSettings settings = new CMSettings();

            settings.ApiKey = "4a087dfc720e09d91e8cb5cae9db51d5"; //Hard Coded
            ICMRepository     repo        = new CMRepository(settings);
            List <Client>     clientList  = repo.GetClients();
            List <List>       list        = repo.GetLists(clientList.Find(x => x.Name == "Hal").ClientId.ToString());
            List <Subscriber> subscribers = repo.GetAciveSubscribers(list.Find(x => x.Name == "Crm").ListId.ToString(), DateTime.Now.AddHours(-1));

            repo.GetAciveSubscribers(ListId: "dsds", fromDate: DateTime.Now);
            Assert.IsNotNull(subscribers.Find(x => x.Name == "Xxxxx Yyyyy"));
        }
示例#10
0
        public static void SetCMSettings(CMSettings settings)
        {
            RegistryKey rk = Registry.LocalMachine.OpenSubKey("SOFTWARE", true);

            if (rk.OpenSubKey("CM_CRM_Sync") == null)
            {
                rk.CreateSubKey("CM_CRM_Sync");
            }
            else
            {
                rk.OpenSubKey("CM_CRM_Sync");
            }
            rk.SetValue("CMUserName", settings.UserName);
            rk.SetValue("CMPassword", settings.Password);
            rk.SetValue("CMApiKey", settings.ApiKey);
        }
示例#11
0
        //Read from register (instalation path, connection settings)

        private void Initialization()
        {
            cmSettings  = ConnectionSettingsManager.GetCMSettings();
            crmSettings = ConnectionSettingsManager.GetCRMSettings();
            try
            {
                cmRepo  = new CMRepository(cmSettings);
                crmRepo = new CRMRepository(crmSettings);
            }
            catch (Exception)
            {
                EventLogManager.WriteMessage(new Message()
                {
                    Description = "Connection settings error", Type = "Error", Time = DateTime.Now
                }, EventType.Error);
            }
        }
示例#12
0
        private void Save_Click(object sender, RoutedEventArgs e)
        {
            CMSettings  cmSettings;
            CRMSettings crmSettings;

            cmSettings = new CMSettings()
            {
                UserName = CMUserName.Text,
                Password = CMPassword.Password,
                ApiKey   = CMApiKey.Text
            };

            bool protocilSsh;

            if (CRMProtocol.SelectedIndex == 0)
            {
                protocilSsh = false;
            }
            else
            {
                protocilSsh = true;
            }

            crmSettings = new CRMSettings()
            {
                UserName    = CRMUserName.Text,
                Password    = CRMPassword.Password,
                Domain      = CRMDomain.Text,
                Url         = CRMUrl.Text,
                ProtocolSSH = protocilSsh
            };

            ConnectionSettingsManager.SetCMSettings(cmSettings);
            ConnectionSettingsManager.SetCRMSettings(crmSettings);
            ServiceSettingsManager.SetRefreshRate(RefreshRate.Text);

            MessageBox.Show("Settings saved successfully");
            this.Close();
        }