예제 #1
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);
        }
예제 #2
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);
            }
        }
예제 #3
0
        internal void FehlendeUndDoppelteEinträge(Schuelers schuelers)
        {
            foreach (var lehrer in this)
            {
                if (lehrer.Mail != null && lehrer.Mail != "")
                {
                    var schuelerOhneNoten = (from s in schuelers
                                             from f in s.Fächer
                                             where f.Note == null || f.Note == ""
                                             where f.Lehrerkürzel == lehrer.Kürzel
                                             select s).ToList();

                    List <Schueler> schuelerMitDoppelterNote = new List <Schueler>();

                    if (schuelerOhneNoten.Count > 0)
                    {
                        lehrer.Mailen(schuelerOhneNoten, schuelerMitDoppelterNote);
                    }
                }
            }
        }