예제 #1
0
        public Appointments(Excelzeilen excelzeilen, ExchangeService service)
        {
            try
            {
                foreach (var excelzeile in (from e in excelzeilen where e.ADatum >= DateTime.Now select e).ToList())
                {
                    Appointment appointment = new Appointment(service);
                    appointment.Categories.Add("ZulassungskonferenzenBC");
                    appointment.Start         = new DateTime(excelzeile.ADatum.Year, excelzeile.ADatum.Month, excelzeile.ADatum.Day, excelzeile.FBeginn.Hour, excelzeile.FBeginn.Minute, excelzeile.FBeginn.Second);
                    appointment.IsAllDayEvent = excelzeile.FBeginn.Hour == 0 ? true : false;
                    appointment.End           = (excelzeile.FBeginn.Hour == 0 ? excelzeile.FBeginn.AddDays(1) : new DateTime(excelzeile.ADatum.Year, excelzeile.ADatum.Month, excelzeile.ADatum.Day, excelzeile.GEnde.Hour, excelzeile.GEnde.Minute, excelzeile.GEnde.Second));
                    appointment.IsReminderSet = false;
                    appointment.Location      = excelzeile.HRaum != null ? excelzeile.HRaum.Count > 0 ? excelzeile.HRaum[0].RaumApa : "" : "";
                    appointment.Subject       = excelzeile.Subject;
                    appointment.Body          = excelzeile.DBeschreibung;

                    this.Add(appointment);

                    Console.WriteLine("[Soll] " + appointment.Subject.PadRight(30) + appointment.Start + "-" + appointment.End.ToShortTimeString());
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                throw new Exception(ex.ToString());
            }
        }
예제 #2
0
        internal void ToExchange(Lehrers lehrers)
        {
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013)
            {
                UseDefaultCredentials = true
            };

            service.TraceEnabled = false;
            service.TraceFlags   = TraceFlags.All;
            service.Url          = new Uri("https://ex01.bkb.local/EWS/Exchange.asmx");

            Excelzeilen e = new Excelzeilen();

            foreach (var lehrer in lehrers)
            {
                foreach (var excelzeile in this)
                {
                    foreach (var v in excelzeile.IVerantwortlich)
                    {
                        if (v.Kürzel == lehrer.Kürzel)
                        {
                            v.Excelzeilen.Add(excelzeile);
                        }
                    }
                }
            }

            foreach (var lehrer in lehrers)
            {
                if (lehrer.Excelzeilen.Count > 0)
                {
                    lehrer.ToExchange(service);
                }
            }
        }
예제 #3
0
        public Excelzeilen Notenlisten(Schuelers schuelers, Lehrers lehrers)
        {
            Excelzeilen excelzeilen = new Excelzeilen();

            string quelle = "APA.xlsx";

            System.IO.File.Copy(quelle, Global.Ziel, true);

            Application application = new Application();
            Workbook    workbook    = application.Workbooks.Open(Global.Ziel);

            try
            {
                foreach (var klasse in this)
                {
                    excelzeilen.Add(klasse.Notenliste(application, workbook, (from s in schuelers
                                                                              where s.Klasse.NameUntis == klasse.NameUntis
                                                                              select s).ToList(), lehrers));
                }
                return(excelzeilen);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                workbook.Save();
                workbook.Close();
                application.Quit();
            }
            return(null);
        }
예제 #4
0
 public Lehrer(string anrede, string vorname, string nachname, string kürzel, string mail, string raum)
 {
     Excelzeilen = new Excelzeilen();
     Anrede      = anrede;
     Nachname    = nachname;
     Vorname     = vorname;
     Raum        = raum;
     Mail        = mail;
     Kürzel      = kürzel;
 }
예제 #5
0
        static void Main(string[] args)
        {
            System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);

            try
            {
                Console.WriteLine(Global.Titel);

                Global.IstInputNotenCsvVorhanden();

                var         prds        = new Periodes();
                var         fchs        = new Fachs();
                var         lehs        = new Lehrers(prds);
                var         klss        = new Klasses(lehs, prds);
                var         schuelers   = new Schuelers(klss, lehs);
                Excelzeilen excelzeilen = new Excelzeilen();
                schuelers.Unterrichte();
                excelzeilen.AddRange(klss.Notenlisten(schuelers, lehs));
                excelzeilen.ToExchange(lehs);
                lehs.FehlendeUndDoppelteEinträge(schuelers);
                System.Diagnostics.Process.Start(Global.Ziel);
                //Global.MailSenden(new Klasse(), new Lehrer(), "Liste alle Dokumente für den APA", "Siehe Anlage.", klss.Dokumente());
                //System.Windows.Forms.Clipboard.SetText(excelzeilen.ToClipboard());
                Console.WriteLine("Tabelle ZulassungskonferenzBC in Zwischenablage geschrieben.");
                Console.ReadKey();
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
                Environment.Exit(0);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Heiliger Bimbam! Es ist etwas schiefgelaufen! Die Verarbeitung wird gestoppt.");
                Console.WriteLine("");
                Console.WriteLine(ex);
                Console.ReadKey();
                Environment.Exit(0);
            }
        }
예제 #6
0
 public Lehrer()
 {
     Excelzeilen = new Excelzeilen();
 }