private void SetisExecutEnabled()
        {
            switch (selectionType)
            {
            case SelectionType.Email:
            {
                if (!string.IsNullOrEmpty(MailBody) && !string.IsNullOrEmpty(MailSubject) && SelectedAdressen.Count() > 0)
                {
                    isExecuteEnabled = true;
                }
                else
                {
                    isExecuteEnabled = false;
                }

                break;
            }

            case SelectionType.Serienbrief:
            {
                if (SelectedAdressen.Count() > 0)
                {
                    isExecuteEnabled = true;
                }
                else
                {
                    isExecuteEnabled = false;
                }
                break;
            }

            case SelectionType.Adressetikett:
            {
                if (SelectedAdressen.Count() > 0)
                {
                    isExecuteEnabled = true;
                }
                else
                {
                    isExecuteEnabled = false;
                }
                break;
            }

            case SelectionType.None:
                break;

            default:
                break;
            }
        }
        public void SendSelectedMails()
        {
            string from = CommonTools.Tools.ConfigEntry <string> .GetConfigEntry("SMTPSenderAdress", "*****@*****.**");

            string server = Session.SMTPServer;
            string user   = Session.UsernameSMTP;
            string pw     = Session.PasswordSMTP;


            foreach (var item in SelectedAdressen.Where(n => n.UnSelect != true))
            {
                try
                {
                    if (rbExchange == true)
                    {
                        if (AttachedFiles.Count() > 0)
                        {
                            SteinbachMail.TestMail.TestSendMail(server, user, pw, from, item.Mailadresse, MailSubject, MailBody, AttachedFiles.ToArray <string>(), SteinbachMail.TestMail.MessageType.Text);
                        }
                        else
                        {
                            SteinbachMail.TestMail.TestSendMail(server, user, pw, from, item.Mailadresse, MailSubject, MailBody, SteinbachMail.TestMail.MessageType.Text);
                            //SteinbachMail.TestMail.TestSendMail("mail.hostedoffice.ag", "*****@*****.**", "MnAbQHJ2010", "*****@*****.**", "*****@*****.**", MailSubject, MailBody);
                        }
                    }
                    else if (rbOutlook == true)
                    {
                        if (AttachedFiles.Count() > 0)
                        {
                            asOutlookMail.OutlookMail.sendmail(item.Mailadresse, MailSubject, MailBody, "", AttachedFiles.ToArray <string>(), asOutlookMail.MessageType.text);
                        }
                        else
                        {
                            asOutlookMail.OutlookMail.sendmail(item.Mailadresse, MailSubject, MailBody);
                        }
                    }


                    ThisDispatcher.BeginInvoke(new Action <Models.SelectedAdressesModel, bool>(SetisSent), item, true);
                    ThisDispatcher.BeginInvoke(new Action <Models.SelectedAdressesModel, string>(SetResult), item, "OK");
                }
                catch (Exception ex)
                {
                    // CommonTools.Tools.ErrorMethods.HandleStandardError(ex, item.Firmenname + ", " + item.Nachname + ", " + item.Vorname);
                    ThisDispatcher.BeginInvoke(new Action <Models.SelectedAdressesModel, string>(SetResult), item, ex.Message);
                    //item.Result = ex.Message;
                }
            }
        }
        public void ShowSelectAdresses()
        {
            IEnumerable <Models.SelectedAdressesModel> Labels = SelectedAdressen.Where(n => n.UnSelect != true);

            int c = 10;

            foreach (var item in Labels)
            {
                item.id = c++;
            }


            var w = new ReportViewer.AdressEtiketten((IEnumerable <Models.SelectedAdressesModel>)Labels);

            w.ShowDialog();
        }
        private void InsertIntoTable()
        {
            using (var context = new DAL.SteinbachEntities())
            {
                int rowsAdded = 0;


                context.ExecuteStoreCommand("delete from SI_SerienbriefeEmpfaenger");


                //  string AnredeWennLeer = CommonTools.Tools.ConfigEntry<string>.GetConfigEntry("AnredeWennLeer", "Herrn/Frau", "Anrede in Sertienbrief oder Adressetikett");

                foreach (var item in SelectedAdressen.Where(n => n.UnSelect != true))
                {
                    try
                    {
                        // string Anrede = GetAnredeWennLeer(AnredeWennLeer, item.Anrede);
                        string items = GetStringWithHochKommata(item.Nachname, item.Vorname, item.Vorname2, item.Anrede, item.Anrede1, item.Namenszusatz, item.Funktion, item.Bezeichnung, item.Mailadresse, item.PLZ, item.Straße, item.Land, item.Ort,
                                                                item.Vorwahl, item.Rufnummer, item.Firmenname, item.Firmenkurzname, item.Titel);



                        // Console.WriteLine(items);
                        // items = "insert into" + " " + "SI_SerienbriefeEmpfaenger (Nachname,Vorname,Vorname2,Anrede,Namenszusatz,Funktion,Bezeichnung,Mailadresse,PLZ,Straße,Land,Ort,Vorwahl,Rufnummer,Firmenname,Firmenkurzname,Titel)" +" Values(" + items + ")";
                        // Einfügen des Leerzeichen war notwendig da auf Kundenserver

                        items = String.Format("insert into SI_SerienbriefeEmpfaenger (Nachname,Vorname,Vorname2,Anrede,Anrede1,Namenszusatz,Funktion,Bezeichnung,Mailadresse,PLZ,Straße,Land,Ort,Vorwahl,Rufnummer,Firmenname,Firmenkurzname,Titel) Values({0})", items);
                        Console.WriteLine(items);

                        //context.ExecuteStoreCommand("insert into SI_SerienbriefeEmpfaenger (Nachname,Vorname,Vorname2,Anrede,Namenszusatz,Funktion,Bezeichnung,Mailadresse,PLZ,Straße,Land,Ort,Vorwahl,Rufnummer,Firmenname,Firmenkurzname,Titel) values({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16})",
                        //                       item.Nachname, item.Vorname, item.Vorname2, Anrede, item.Namenszusatz, item.Funktion, item.Bezeichnung, item.Mailadresse, item.PLZ, item.Straße, item.Land, item.Ort,
                        //                       item.Vorwahl, item.Rufnummer, item.Firmenname, item.Firmenkurzname, item.Titel);

                        context.ExecuteStoreCommand(items);

                        ++rowsAdded;
                    }
                    catch (Exception ex)
                    {
                        CommonTools.Tools.ErrorMethods.HandleStandardError(ex, item.Firmenname + ", " + item.Nachname + ", " + item.Vorname);
                    }
                }


                CommonTools.Tools.UserMessage.NotifyUser(string.Format("Es wurden {0} von {1} Datensätzen in die Serienbrieftabelle geschrieben.", rowsAdded, SelectedAdressen.Count()));
            }
        }
        public void TestIsDirty()
        {
            ObservableCollection <Models.SelectedAdressesModel> test = new ObservableCollection <Models.SelectedAdressesModel>(SelectedAdressen.Where(n => n.isDirty == true));

            foreach (var item in test)
            {
                CommonTools.Tools.UserMessage.NotifyUser(string.Format("{0} {1} {2} {3}", item.id, item.Vorname, item.Nachname, item.PLZ));
                ;
            }
        }