Beispiel #1
0
        public void CountTest()
        {
            SmsProject project = MyModel.Init();

            Assert.AreEqual(1, project.Companies.Count);
            project.Validate();

            Assert.IsNotNull(project.Companies.FindByCompany("PK-Soft Sp. z o.o."));
            Assert.AreEqual(4, project.Companies[0].AllCount);
            Assert.AreEqual(2, project.Companies[0].SentCount);
            Assert.AreEqual(2, project.Companies[0].ReceivedCount);
            Assert.AreEqual(2, project.Companies[0].ContactsCount);

            Assert.AreEqual(2, project.Contacts.FindByContact("510236587").SentCount);
            Assert.AreEqual(2, project.Contacts.FindByContact("510236587").ReceivedCount);
            Assert.AreEqual(4, project.Contacts.FindByContact("510236587").AllCount);

            Assert.AreEqual(0, project.Contacts.FindByContact("504128737").SentCount);
            Assert.AreEqual(0, project.Contacts.FindByContact("504128737").ReceivedCount);
            Assert.AreEqual(0, project.Contacts.FindByContact("504128737").AllCount);

            Assert.AreEqual(2, project.Campaigns.FindByCampaign("Wysyłka1").SentCount);
            Assert.AreEqual(2, project.Campaigns.FindByCampaign("Wysyłka1").ReceivedCount);
            Assert.AreEqual(4, project.Campaigns.FindByCampaign("Wysyłka1").AllCount);

            Assert.AreEqual(2, project.Groups.FindByGroup("VIP").SentCount);
            Assert.AreEqual(2, project.Groups.FindByGroup("VIP").ReceivedCount);
            Assert.AreEqual(4, project.Groups.FindByGroup("VIP").AllCount);

            Assert.AreEqual(2, project.Messages.FindByMessage("PrzypomnienieX").SentCount);
            Assert.IsTrue(project.Messages.FindByMessage("Płatność").IsSentCountNull());
        }
Beispiel #2
0
        public void EncryptDecryptTest()
        {
            // TODO: Decrypt i Encrypt przenieść do oddzielnej klasy!
            SmsProject project = MyModel.Init();

            Assert.AreEqual("test", project.Decrypt(project.Encrypt("test")));
        }
Beispiel #3
0
        public void IntegrityTest()
        {
            SmsProject project = MyModel.Init();

            foreach (DataTable table in project.Tables)
            {
                if (table.TableName != project.Columns.TableName &&
                    table.TableName != project.LookupList.TableName)
                {
                    foreach (DataColumn column in table.Columns)
                    {
                        if (column.AllowDBNull == false)
                        {
                            Assert.IsTrue(column.ColumnName == table.PrimaryKey[0].ColumnName ||
                                          column.DefaultValue != null);
                        }
                        foreach (DataRelation relation in project.Relations)
                        {
                            if (relation.ChildTable == table &&
                                relation.ChildColumns[0].ColumnName == column.ColumnName)
                            {
                                Assert.AreEqual(relation.ParentColumns[0].ColumnName, column.ColumnName);
                            }
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public void CreateTest()
        {
            long       time    = Environment.TickCount;
            SmsProject project = Init(Count);

            time = Environment.TickCount - time;
            Assert.IsTrue(time < CreateTime, time.ToString() + " time");
        }
Beispiel #5
0
        public static SmsProject Init()
        {
            SmsProject project = new SmsProject();

            project.InitDelegates();
            Init(project);
            return(project);
        }
Beispiel #6
0
        public void SearchTest()
        {
            SmsProject project = Init(Count);
            long       time    = Environment.TickCount;

            Assert.IsNotNull(project.Groups.FindByGroup((project.Groups.Count / 2).ToString()));
            time = Environment.TickCount - time;
            Assert.IsTrue(time < SearchTime, time.ToString() + " time");
        }
Beispiel #7
0
        private SmsProject Init(int count)
        {
            SmsProject project = new SmsProject();

            for (int index = 0; index < count; index++)
            {
                project.Groups.AddGroupsRow(index.ToString(), "", DateTime.Now, DateTime.Now);
            }
            return(project);
        }
Beispiel #8
0
        public void ModifyTest()
        {
            SmsProject project = Init(Count);
            long       time    = Environment.TickCount;

            for (int index = 0; index < project.Groups.Count; index++)
            {
                project.Groups[index].Description = "alibaba";
            }
            time = Environment.TickCount - time;
            Assert.IsTrue(time < ModifyTime, time.ToString() + " time");
        }
Beispiel #9
0
        public void ViewTest()
        {
            SmsProject project = Init(Count);
            long       time    = Environment.TickCount;

            for (int index = 0; index < project.Groups.Count; index++)
            {
                Assert.IsTrue(project.Groups[index].Group != null);
            }
            time = Environment.TickCount - time;
            Assert.IsTrue(time < ViewTime, time.ToString() + " time");
        }
Beispiel #10
0
 private void MessageText_TextChanged(object sender, EventArgs e)
 {
     try
     {
         ExampleText.Text = SmsProject.ColumnsToValues(MessageText.Text);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, Messages.TitleError,
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #11
0
        public void LoadTest()
        {
            StringBuilder fileText = new StringBuilder();

            fileText.AppendLine("@Fields: Type, Provider, HomePageUrl, AllowAnswer, IsHardware, DefaultUnitCost");
            fileText.AppendLine("sms, Ovation, http://www.novatelwireless.com, 1, 1, 0.05");
            fileText.AppendLine("sms, Merlin, http://www.novatelwireless.com, 1, 1, 0.05");
            fileText.AppendLine("sms, Novatel, http://www.novatelwireless.com, 1, 1, 0.05");
            fileText.AppendLine("sms, Nokia, http://www.novatelwireless.com, 1, 1, 0.05");
            fileText.AppendLine("sms, SmsApiEcoSms, http://smsapi.pl, 1, 0, 0.07");
            fileText.AppendLine("sms, SmsApiProSms, http://smsapi.pl, 1, 0, 0.165");
            fileText.AppendLine("sms, SmsApiProSmsOutside, http://smsapi.pl, 1, 0, 0.027");

            SmsProject project = MyModel.Init();

            project.Providers.Read(fileText);
            Assert.AreEqual(7, project.Providers.Rows.Count);

            SmsProject.ProvidersRow row = project.Providers.FindByProviderType(
                DeliveryProviders.Merlin, DeliveryTypes.Sms);
            Assert.IsNotNull(row);

            Assert.AreEqual("sms", row.Type);
            Assert.AreEqual("Merlin", row.Provider);
            Assert.AreEqual("http://www.novatelwireless.com", row.HomePageUrl);
            Assert.AreEqual(true, row.AllowAnswer);
            Assert.AreEqual(true, row.IsInternal);
            Assert.AreEqual((decimal)0.05, row.DefaultUnitCost);

            StringBuilder settingsText = new StringBuilder();

            settingsText.AppendLine("@Fields: Type, Provider, UserName, Password");
            settingsText.AppendLine("sms, SmsApiEcoSms, loginek, haselko");
            project.Providers.Read(settingsText);

            row = project.Providers.FindByProviderType(DeliveryProviders.SmsApiEcoSms, DeliveryTypes.Sms);
            Assert.IsNotNull(row);
            Assert.AreEqual("sms", row.Type);
            Assert.AreEqual("SmsApiEcoSms", row.Provider);
            Assert.AreEqual("loginek", row.UserName);
            Assert.AreEqual("haselko", row.Password);
        }
Beispiel #12
0
        public void CustomFieldsTest()
        {
            SmsProject project = MyModel.Init();

            int contactsColumnCount = project.Contacts.Columns.Count;

            Assert.AreEqual(0, project.CustomFields.Count);
            SmsProject.CustomFieldsRow pkwiu = project.CustomFields.AddCustomFieldsRow(
                project.Contacts.TableName, "KlientPKWiU");
            Assert.AreEqual(1, project.CustomFields.Count);
            Assert.AreEqual(contactsColumnCount + 1, project.Contacts.Columns.Count);

            SmsProject.CustomFieldsRow mojaKategoria = project.CustomFields.AddCustomFieldsRow(
                project.Contacts.TableName, "MojaKategoria");
            Assert.AreEqual(2, project.CustomFields.Count);
            Assert.AreEqual(contactsColumnCount + 2, project.Contacts.Columns.Count);

            SmsProject.CustomFieldsRow zaplacil = project.CustomFields.AddCustomFieldsRow(
                project.Contacts.TableName, "Zapłacił");
            Assert.AreEqual(3, project.CustomFields.Count);
            Assert.AreEqual(contactsColumnCount + 3, project.Contacts.Columns.Count);

            SmsProject.ContactsRow kap = project.Contacts.FindByContact("510236587");
            kap["KlientPKWiU"] = "TAK";
            kap["Zapłacił"]    = "TAK";

            Assert.AreEqual("TAK", project.Contacts.FindByContact("510236587")["KlientPKWiU"].ToString());
            Assert.AreEqual("TAK", project.Contacts.FindByContact("510236587")["Zapłacił"].ToString());

            SmsProject.ContactsRow agp = project.Contacts.FindByContact("504128737");
            agp["KlientPKWiU"] = "NIE";
            agp["Zapłacił"]    = "TAK";

            Assert.AreEqual("NIE", project.Contacts.FindByContact("504128737")["KlientPKWiU"].ToString());
            Assert.AreEqual("TAK", project.Contacts.FindByContact("504128737")["Zapłacił"].ToString());
        }
Beispiel #13
0
        public static void Init(SmsProject dataSet)
        {
            dataSet.InitDelegates();
            dataSet.Properties.AddPropertiesRow("Kampanie PK-Soft",
                                                "KAP", "Wszystkie kampanie smsowe realizowane przez firmę");

            SmsProject.CompaniesRow company = dataSet.Companies.AddCompaniesRow("PK-Soft Sp. z o.o.");
            company.Description = "Moja firma";
            SmsProject.GroupsRow group = dataSet.Groups.AddGroupsRow("VIP");
            group.Description = "Grupa najlepszych";

            SmsProject.ContactsRow kap = dataSet.Contacts.AddContactsRow("510236587");
            kap.MobilePhoneNumber = "510236587";
            kap.FirstName         = "Krzysztof Arkadiusz";
            kap.LastName          = "Prusik";
            kap.CompaniesRow      = company;
            kap.GroupsRow         = group;
            kap.Email             = "*****@*****.**";
            kap.Url          = "http://kap1.salon24.pl";
            kap.Description  = "Ja we własnej osobie";
            kap.Title        = "CEO";
            kap.HomeStreet   = "Al. Jana Pawła II 61/144";
            kap.HomeCity     = "Warszawa";
            kap.HomePostCode = "01-031";
            kap.HomeState    = "Mazowieckie";
            kap.HomeCountry  = "Polska";
            kap.BirthDate    = new DateTime(1973, 8, 30);
            kap.Token        = "1234";
            kap.Source       = "Clipboard";

            SmsProject.ContactsRow agp = dataSet.Contacts.AddContactsRow("504128737");
            agp.MobilePhoneNumber = "504128737";
            agp.FirstName         = "Ariadna";
            agp.LastName          = "Gołębicka";
            agp.CompaniesRow      = company;
            agp.GroupsRow         = group;
            agp.Email             = "*****@*****.**";
            agp.Url          = "http://pk-soft.com";
            agp.Description  = "żonka";
            agp.Title        = "";
            agp.HomeStreet   = "Al. Jana Pawła II 61/144";
            agp.HomeCity     = "Warszawa";
            agp.HomePostCode = "01-031";
            agp.HomeState    = "Mazowieckie";
            agp.HomeCountry  = "Polska";
            agp.BirthDate    = new DateTime(1973, 8, 1);
            agp.Token        = "1111";
            agp.Source       = "Clipboard";

            SmsProject.MessagesRow message = dataSet.Messages.AddMessagesRow("PrzypomnienieX");
            message.Description  = "Przypomnienie o zajęciach w sali gimnastycznej X";
            message.MessageTopic = "Przypomnienie";
            message.MessageText  = "Zajęcia odbywają się w sali X o godzinie YY";

            SmsProject.MessagesRow m2 = dataSet.Messages.AddMessagesRow("Płatność");
            m2.Description  = "Prośba o płatność";
            m2.MessageTopic = "Przypomnienie";
            m2.MessageText  = "Uprzejmie prosimy o uregulowanie płatności za fakturę XXX z dnia YYY";

            SmsProject.ProvidersRow provider = dataSet.Providers.AddProvidersRow(DeliveryTypes.Sms, DeliveryProviders.Novatel,
                                                                                 "", true, true, 0);

            SmsProject.CampaignsRow campaign = dataSet.Campaigns.AddCampaignsRow("Wysyłka1");
            campaign.Description        = "Pierwsze przypomnienie o płatności";
            campaign.MessagesRow        = message;
            campaign.Code               = "Kodzik1";
            campaign.ProvidersRowParent = provider;

            SmsProject.SentRow sent1 = dataSet.Sent.AddSentRow("1");
            sent1.ContactsRow        = kap;
            sent1.SendDate           = DateTime.Now;
            sent1.ProvidersRowParent = provider;
            sent1.ToAddress          = kap.Email;
            sent1.CampaignsRow       = campaign;
            sent1.TemplatesRow       = message;


            SmsProject.SentRow sent2 = dataSet.Sent.AddSentRow("2");
            sent2.ContactsRow        = kap;
            sent2.SendDate           = DateTime.Now;
            sent2.ProvidersRowParent = provider;
            sent2.ToAddress          = agp.Email;
            sent2.CampaignsRow       = campaign;
            sent2.TemplatesRow       = message;

            SmsProject.ReceivedRow received1 = dataSet.Received.AddReceivedRow("3");
            received1.ContactsRow        = kap;
            received1.ReceivedDate       = DateTime.Now;
            received1.ProvidersRowParent = provider;
            received1.MessageText        = "taki tam sms";
            received1.CampaignsRow       = campaign;

            SmsProject.ReceivedRow received2 = dataSet.Received.AddReceivedRow("4");
            received2.ContactsRow        = kap;
            received2.ReceivedDate       = DateTime.Now;
            received2.ProvidersRowParent = provider;
            received2.MessageText        = "taki tam sms";
            received2.CampaignsRow       = campaign;

            // UNDONE: Czy AcceptChanges jest potrzebne? Jak nie to wyrzucić wszystkie!
            dataSet.AcceptChanges();
        }