예제 #1
0
        protected void importSummary(ContactImportResult importResult)
        {
            string message = null;

            var totalRecipients = SurveyManager.GetRecipientsCount(this.CollectorId);

            if (importResult.SuccesfullImports > 0)
            {
                if (importResult.SuccesfullImports == 1)
                {
                    if (totalRecipients == 1)
                    {
                        message = "Successfully added 1 recipient. The Collector now has 1 recipient.";
                    }
                    else
                    {
                        message = string.Format("Successfully added 1 recipient. The Collector now has {0} recipients.", totalRecipients);
                    }
                }
                else
                {
                    message = string.Format("Successfully added {0} recipients. The Collector now has {1} recipients.", importResult.SuccesfullImports, totalRecipients);
                }
            }
            else
            {
                if (totalRecipients == 1)
                {
                    message = "No recipient was added. The Collector has 1 recipient.";
                }
                else
                {
                    message = string.Format("No recipient was added. The Collector has {0} recipients.", totalRecipients);
                }
            }

            this.InfoMessage = message;
        }
예제 #2
0
        public void ClientLists02_01()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");

                //Η λίστα μας είναι άδεια:
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);

                //Εισαγωγή 10 γραμμών
                ContactImportResult importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }

                //Η λίστα μας έχει τωρα 10 contacts:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);

                //Κανένα contact δεν είναι OptedOut ή Bounced:
                var contacts = systemManager.GetContacts(list01.ListId);
                foreach (var item in contacts)
                {
                    Assert.IsFalse(item.IsBouncedEmail);
                    Assert.IsFalse(item.IsOptedOut);
                }

                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);

                //Κάνουμε bounced τρία emails:
                var email01b = contacts[0].Email;
                var email02b = contacts[1].Email;
                var email03b = contacts[2].Email;

                Assert.IsTrue(systemManager.BounceContacts(client1, email01b) == 1);
                Assert.IsTrue(systemManager.BounceContacts(client1, email02b) == 1);
                Assert.IsTrue(systemManager.BounceContacts(client1, email03b) == 1);

                //Τώρα έχουμε 3 Bounced Emails:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                //Κάνουμε optedOut τρία emails:
                var email01o = contacts[7].Email;
                var email02o = contacts[8].Email;
                var email03o = contacts[9].Email;

                Assert.IsTrue(systemManager.OptOutContacts(client1, email01o) == 1);
                Assert.IsTrue(systemManager.OptOutContacts(client1, email02o) == 1);
                Assert.IsTrue(systemManager.OptOutContacts(client1, email03o) == 1);

                //Τώρα έχουμε 3 Bounced Emails & 3 OptedOut Emails:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                //Θα διαγράψουμε τα OptedOut Emails:
                Assert.IsTrue(systemManager.RemoveAllOptedOutContactsFromList(list01.ListId) == 3);

                //Ελέγχουμε:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 7);
                Assert.IsTrue(systemManager.GetContacts(list01).Count == 7);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                //Θα διαγράψουμε τα Bounced Emails:
                Assert.IsTrue(systemManager.RemoveAllBouncedContactsFromList(list01.ListId) == 3);

                //Ελέγχουμε:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 4);
                Assert.IsTrue(systemManager.GetContacts(list01).Count == 4);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);


                //Θα διαγράψουμε όλα τα contacts απο αυτή την λίστα:
                Assert.IsTrue(systemManager.RemoveAllContactsFromList(list01.ListId) == 4);

                //Ελέγχουμε:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);
            }
            finally
            {
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
        public void CollectorTests02_01()
        {
            var surveyManager = VLSurveyManager.GetAnInstance(admin);
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                #region Δημιουργία πελάτη, και λίστας με 10 επαφές:
                //Δημιουργούμε ένα πελάτη
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                //Εισαγωγή 10 γραμμών
                ContactImportResult importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                //Η λίστα μας έχει τωρα 10 contacts:
                list01 = systemManager.GetClientListById(list01.ListId);
                Assert.IsTrue(list01.TotalContacts == 10);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                //Κανένα contact δεν είναι OptedOut ή Bounced:
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);
                #endregion

                //We create a survey:
                var survey1 = surveyManager.CreateSurvey(client1, "Questionnaire #1", "Risk assessment");
                //We create a collector:
                var collector01 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR01_email1");
                //Δημιουργούμε στον collector 10 recipients:
                surveyManager.ImportRecipientsFromList(collector01, list01);

                //Τώρα ο collector μας έχει 10 recipients:
                collector01 = surveyManager.GetCollectorById(collector01.CollectorId);
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                //Κανένα recipient δεν είναι OptedOut ή Bounced:
                var recipients = surveyManager.GetRecipients(collector01);
                foreach (var item in recipients)
                {
                    Assert.IsFalse(item.IsSentEmail);
                    Assert.IsFalse(item.IsOptedOut);
                    Assert.IsFalse(item.IsBouncedEmail);
                    Assert.IsFalse(item.HasResponded);
                }

                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);


                //Κάνουμε bounced τρία emails:
                var email01b = recipients[0].Email;
                var email02b = recipients[1].Email;
                var email03b = recipients[2].Email;

                Assert.IsTrue(surveyManager.BounceRecipient(collector01, email01b) == 1);
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, email02b) == 1);
                Assert.IsTrue(surveyManager.BounceRecipient(collector01, email03b) == 1);


                //Τώρα έχουμε τρία (3) bounced emails στον Collector, και στην λίστα του πελάτη μας:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);



                //Κάνουμε optedOut τρία emails:
                var email01o = recipients[7].Email;
                var email02o = recipients[8].Email;
                var email03o = recipients[9].Email;

                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, email01o) == 1);
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, email02o) == 1);
                Assert.IsTrue(surveyManager.OptOutRecipient(collector01, email03o) == 1);

                //Τώρα έχουμε τρία (3) OptedOut emails στον Collector, και στην λίστα του πελάτη μας:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 10);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 3);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);
                Assert.IsTrue(surveyManager.GetEmailedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                #region Διαγραφές
                //Θα διαγράψουμε τα OptedOut recipients:
                Assert.IsTrue(surveyManager.RemoveAllOptedOutRecipients(collector01) == 3);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 7);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 3);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);


                //θα διαγράψουμε τα bounced recipients:
                Assert.IsTrue(surveyManager.RemoveAllBouncedRecipients(collector01) == 3);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 3);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 3);

                //Θα διαγράψουμε όλες τις επαφές απο την λίστα μας:
                systemManager.RemoveAllContactsFromList(list01.ListId);
                list01 = systemManager.GetClientListById(list01.ListId);
                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 4);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);


                //Θα διαγράχουμε όλα τα unsent recipients απο τον collector:
                Assert.IsTrue(surveyManager.RemoveAllUnsentRecipients(collector01) == 4);

                //Ελέγχουμε:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetOptedOutRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetBouncedRecipients(collector01).Count == 0);
                //
                Assert.IsTrue(list01.TotalContacts == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetOptedOutContacts(list01).Count == 0);
                Assert.IsTrue(systemManager.GetBouncedContacts(list01).Count == 0);
                #endregion
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
        public void clientList01_04()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                //We create one more client:
                var client2 = systemManager.CreateClient("FastrishCert S.A.", BuiltinCountries.Greece, "pcert", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client2);


                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                Assert.IsNotNull(list01);
                Assert.IsTrue(list01.Client == client1.ClientId);
                //We create a contact list:
                var list02 = systemManager.CreateClientList(client2.ClientId, "my-list-02");
                Assert.IsNotNull(list02);
                Assert.IsTrue(list02.Client == client2.ClientId);

                var s1 = "1,Rebecca,Johnston,[email protected],Syria,115.25.131.108\n2,Donald,Henderson,[email protected],Niue,85.186.113.81\n3,Eugene,Wagner,[email protected],Cote d'Ivoire,225.48.163.209\n4,Philip,Rivera,[email protected],Marshall Islands,162.95.237.119\n5,Gary,Frazier,[email protected],Qatar,42.45.26.151\n6,Pamela,Campbell,[email protected],Cameroon,242.206.197.185\n7,Louise,Hunt,[email protected],Bermuda,228.174.174.112\n8,Rebecca,Sullivan,[email protected],Morocco,10.5.33.157\n9,Scott,Cole,[email protected],Austria,182.94.80.70\n10,Brian,Bishop,[email protected],Laos,60.120.120.198\n";
                //Εισαγωγή 10 γραμμών
                ContactImportResult importResult = null;
                importResult = systemManager.ImportContactsFromString(list01.ListId, s1, new ContactImportOptions {
                    HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                });
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 10);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                var s2 = "1,Rebecca,Johnston,,Syria,115.25.131.108\n2,Donald,Henderson,,Niue,85.186.113.81\n3,Eugene,Wagner,[email protected],Cote d'Ivoire,225.48.163.209\n4,Philip,Rivera,[email protected],Marshall Islands,162.95.237.119\n5,Gary,Frazier,[email protected],Qatar,42.45.26.151\n6,Pamela,Campbell,[email protected],Cameroon,242.206.197.185\n7,Louise,Hunt,[email protected],Bermuda,228.174.174.112\n8,Rebecca,Sullivan,[email protected],Morocco,10.5.33.157\n9,Scott,Cole,[email protected],Austria,182.94.80.70\n10,Brian,Bishop,[email protected],Laos,60.120.120.198\n";
                //Εισαγωγή 10 γραμμών
                importResult = null;
                importResult = systemManager.ImportContactsFromString(list01.ListId, s2, new ContactImportOptions {
                    HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                });
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 8);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 8);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
            }
            finally
            {
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
        public void clientList01_03()
        {
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                //We create one more client:
                var client2 = systemManager.CreateClient("FastrishCert S.A.", BuiltinCountries.Greece, "pcert", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client2);


                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                Assert.IsNotNull(list01);
                Assert.IsTrue(list01.Client == client1.ClientId);
                //We create a contact list:
                var list02 = systemManager.CreateClientList(client2.ClientId, "my-list-02");
                Assert.IsNotNull(list02);
                Assert.IsTrue(list02.Client == client2.ClientId);



                //Εισαγωγή 1000 γραμμών
                ContactImportResult importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                    });
                }
                Assert.IsTrue(importResult.SuccesfullImports == 1000);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 1000);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10a.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.SuccesfullImports == 10);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10aa.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 10);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 10);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 10);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10b.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 8);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 8);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10c.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 6);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 2);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 6);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10ca.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 6);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 2);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 6);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10cb.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 6);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 2);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 6);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImagesPath, "airplane1.jpg"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 206);
                Assert.IsTrue(importResult.SuccesfullImports == 0);
                Assert.IsTrue(importResult.InvalidEmails == 118);
                Assert.IsTrue(importResult.SameEmails == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);



                //Δημιουργία ξανά της list01:
                list01       = systemManager.CreateClientList(client1.ClientId, "my-list-01");
                importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA_10d.txt"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = false, ContinueOnError = true, DelimiterCharacter = "\t", EmailOrdinal = 2, FirstNameOrdinal = 3, LastNameOrdinal = 4
                    });
                }
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 6);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 2);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 6);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
                //Διαγραφή της list01:
                systemManager.DeleteClientList(list01);
                Assert.IsNull(systemManager.GetClientListById(list01.ListId));
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 0);
                Assert.IsTrue(systemManager.GetContacts(list02.ListId).Count == 0);
            }
            finally
            {
                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }
예제 #6
0
        void ShowImportResultsPanel(ContactImportResult importResult, PlaceHolder pholder)
        {
            StringBuilder sb = new StringBuilder();


            if (importResult.SuccesfullImports > 0)
            {
                sb.Append("<div class=\"succesfullResult\">");
                sb.Append("<span>");

                if (importResult.SuccesfullImports == 1)
                {
                    sb.Append("Successfully added one contact. ");
                }
                else
                {
                    sb.AppendFormat("Successfully added {0} contacts. ", importResult.SuccesfullImports);
                }
                sb.Append("</span>");
                sb.Append("<br/>");
                sb.Append("<span>");
            }
            else
            {
                sb.Append("<div class=\"errorResult\">");
                sb.Append("<span>");
            }


            if (importResult.InvalidEmails == 1)
            {
                sb.Append("There is one (1) invalid email. ");
                sb.Append("</span><br/><span>");
            }
            else if (importResult.InvalidEmails > 1)
            {
                sb.AppendFormat("There are {0} invalid emails. ", importResult.InvalidEmails);
                sb.Append("</span><br/><span>");
            }

            if (importResult.SameEmails == 1)
            {
                sb.Append("There is one (1) same email. ");
                sb.Append("</span><br/><span>");
            }
            else if (importResult.SameEmails > 1)
            {
                sb.AppendFormat("There are {0} same emails. ", importResult.SameEmails);
                sb.Append("</span><br/><span>");
            }

            if (importResult.FailedImports == 1)
            {
                sb.Append("Failed to import one (1) contact. ");
                sb.Append("</span><br/><span>");
            }
            else if (importResult.FailedImports > 1)
            {
                sb.AppendFormat("Failed to import {0} contacts. ", importResult.FailedImports);
                sb.Append("</span><br/><span>");
            }

            if (importResult.OptedOutEmails == 1)
            {
                sb.Append("There is one (1) OptedOut email. ");
                sb.Append("</span><br/><span>");
            }
            else if (importResult.OptedOutEmails > 1)
            {
                sb.AppendFormat("There are {0} OptedOut emails. ", importResult.OptedOutEmails);
                sb.Append("</span><br/><span>");
            }

            if (importResult.BouncedEmails == 1)
            {
                sb.Append("There is one (1) Bounced email. ");
                sb.Append("</span><br/><span>");
            }
            else if (importResult.BouncedEmails > 1)
            {
                sb.AppendFormat("There are {0} Bounced emails. ", importResult.BouncedEmails);
                sb.Append("</span><br/><span>");
            }

            sb.Append("</span>");
            sb.Append("</div>");



            pholder.Controls.Add(new LiteralControl(sb.ToString()));
        }
        public void CollectorTest04()
        {
            var surveyManager = VLSurveyManager.GetAnInstance(admin);
            var systemManager = VLSystemManager.GetAnInstance(admin);

            try
            {
                //We create a customer:
                var client1 = systemManager.CreateClient("MySoftavia S.A.", BuiltinCountries.Greece, "man", profile: BuiltinProfiles.UTESTFree.ProfileId);
                Assert.IsNotNull(client1);
                //We create a contact list:
                var list01 = systemManager.CreateClientList(client1.ClientId, "my-contacts-1");
                Assert.IsNotNull(list01);
                //We create a survey:
                var survey1 = surveyManager.CreateSurvey(client1, "Questionnaire #1", "Risk assessment");
                Assert.IsTrue(survey1.Client == client1.ClientId);
                //ΔΗΜΙΟΥΡΓΟΥΜΕ ΕΝΑ COLLECTOR:
                var collector01 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR01_email");
                Assert.IsNotNull(collector01);
                //ΔΗΜΙΟΥΡΓΟΥΜΕ ΕΝΑ COLLECTOR:
                var collector02 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR02_email");
                Assert.IsNotNull(collector02);
                //ΔΗΜΙΟΥΡΓΟΥΜΕ ΕΝΑ COLLECTOR:
                var collector03 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR03_email");
                Assert.IsNotNull(collector03);
                //ΔΗΜΙΟΥΡΓΟΥΜΕ ΕΝΑ COLLECTOR:
                var collector04 = surveyManager.CreateCollector(survey1.SurveyId, CollectorType.Email, "COLLECTOR04_email");
                Assert.IsNotNull(collector04);


                #region βάζουμε στην λίστα μας 1000 επαφές:
                ContactImportResult importResult = null;
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA.csv"), FileMode.Open))
                {
                    importResult = systemManager.ImportContactsFromCSV(list01.ListId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                    });
                }
                Assert.IsTrue(importResult.SuccesfullImports == 1000);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);
                Assert.IsTrue(systemManager.GetContacts(list01.ListId).Count == 1000);
                #endregion

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 0);



                //Παίρνουμε τις επαφές απο την λίστα και τις βαζουμε στον collector01:
                importResult = surveyManager.ImportRecipientsFromList(collector01.CollectorId, list01.ListId);
                Assert.IsTrue(importResult.SuccesfullImports == 1000);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 0);



                //Παίρνουμε τις επαφές απο τον collector01 και τις βάζουμε στον collector02:
                importResult = surveyManager.ImportRecipientsFromCollector(collector02.CollectorId, collector01.CollectorId);
                Assert.IsTrue(importResult.SuccesfullImports == 1000);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 0);



                //Βάζουμε στον Collector03 1000 επαφές:
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA.csv"), FileMode.Open))
                {
                    importResult = surveyManager.ImportRecipientsFromCSV(collector03.CollectorId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                    });
                }
                Assert.IsTrue(importResult.SuccesfullImports == 1000);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 0);

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 0);



                //Παίρνουμε τις επαφές απο τον collector01 και τις βάζουμε στον collector02:
                importResult = surveyManager.ImportRecipientsFromCollector(collector02.CollectorId, collector01.CollectorId);
                Assert.IsTrue(importResult.SuccesfullImports == 0);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 1000);

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 0);



                //Βάζουμε στον Collector03 1000 επαφές:
                using (var fs = new FileStream(Path.Combine(_ImportFilesPath, "MOCK_DATA.csv"), FileMode.Open))
                {
                    importResult = surveyManager.ImportRecipientsFromCSV(collector03.CollectorId, fs, new ContactImportOptions {
                        HasHeaderRecord = true, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                    });
                }
                Assert.IsTrue(importResult.SuccesfullImports == 0);
                Assert.IsTrue(importResult.InvalidEmails == 0);
                Assert.IsTrue(importResult.SameEmails == 1000);

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 0);



                //Βάζουμε στον Collector04 10 επαφές:
                var s2 = "1,Rebecca,Johnston,,Syria,115.25.131.108\n2,Donald,Henderson,,Niue,85.186.113.81\n3,Eugene,Wagner,[email protected],Cote d'Ivoire,225.48.163.209\n4,Philip,Rivera,[email protected],Marshall Islands,162.95.237.119\n5,Gary,Frazier,[email protected],Qatar,42.45.26.151\n6,Pamela,Campbell,[email protected],Cameroon,242.206.197.185\n7,Louise,Hunt,[email protected],Bermuda,228.174.174.112\n8,Rebecca,Sullivan,[email protected],Morocco,10.5.33.157\n9,Scott,Cole,[email protected],Austria,182.94.80.70\n10,Brian,Bishop,[email protected],Laos,60.120.120.198\n";
                importResult = surveyManager.ImportRecipientsFromString(collector04.CollectorId, s2, new ContactImportOptions {
                    HasHeaderRecord = false, ContinueOnError = true, EmailOrdinal = 4, FirstNameOrdinal = 2, LastNameOrdinal = 3
                });
                Assert.IsTrue(importResult.FailedImports == 0);
                Assert.IsTrue(importResult.SuccesfullImports == 8);
                Assert.IsTrue(importResult.InvalidEmails == 2);
                Assert.IsTrue(importResult.SameEmails == 0);

                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 8);


                //ΔΙΑΓΡΑΦΗ
                surveyManager.RemoveAllUnsentRecipients(collector01);
                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 8);

                //ΔΙΑΓΡΑΦΗ
                surveyManager.RemoveAllUnsentRecipients(collector03);
                //ΚΑΤΑΜΕΤΡΗΣΗ Recipients:
                Assert.IsTrue(surveyManager.GetRecipients(collector01).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector02).Count == 1000);
                Assert.IsTrue(surveyManager.GetRecipients(collector03).Count == 0);
                Assert.IsTrue(surveyManager.GetRecipients(collector04).Count == 8);
            }
            finally
            {
                var surveys = surveyManager.GetSurveys(textsLanguage: BuiltinLanguages.PrimaryLanguage);
                foreach (var item in surveys)
                {
                    if (item.IsBuiltIn)
                    {
                        continue;
                    }

                    surveyManager.DeleteSurvey(item);
                }

                var clients = systemManager.GetClients();
                foreach (var client in clients)
                {
                    if (client.IsBuiltIn)
                    {
                        continue;
                    }

                    systemManager.DeleteClient(client);
                }
            }
        }