Пример #1
0
        public ActionResult Marking(Guid id)
        {
            var userService = new UserInfoService();
            var user        = GetCurrentUser();

            var thesis = Db.Theses.SingleOrDefault(x => x.Id == id);

            // Mail mit Notenbeleg zum Ausdrucken an sich selbst senden
            var tm = new ThesisStateModel()
            {
                Thesis  = thesis,
                Student = thesis.Student,
                User    = userService.GetUser(thesis.Student.UserId),
                Mark    = ""
            };


            // hier zunächst mit Postal - weil es so geht
            var stream = new MemoryStream();

            var email = new ThesisEmail("ThesisMarked");

            email.To       = user.Email;
            email.From     = MailController.InitSystemFrom();
            email.Subject  = "Notenmeldung Abschlussarbeit";
            email.Thesis   = tm;
            email.Receiver = user;


            var         html = this.RenderViewToString("_ThesisPrintOut", email);
            PdfDocument pdf  = PdfGenerator.GeneratePdf(html, PageSize.A4);

            //pdf.Save("document.pdf");
            pdf.Save(stream, false);

            // Stream zurücksetzen
            stream.Position = 0;
            email.Attach(new Attachment(stream, "Notenmeldung.pdf", System.Net.Mime.MediaTypeNames.Application.Pdf));
            email.Send();


            return(RedirectToAction("Details", new { id = thesis.Id }));
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult CustomOccurrenceMail(Guid id)
        {
            var db = new TimeTableDbContext();

            var occ = db.Occurrences.SingleOrDefault(c => c.Id == id);

            var model = new OccurrenceMailingModel();

            if (occ != null)
            {
                var summary     = new ActivityService().GetSummary(id);
                var subscribers = summary.Subscriptions;

                model.OccurrenceId  = occ.Id;
                model.Name          = summary.Name;
                model.Subject       = $"[{summary.Name}]";
                model.ReceiverCount = subscribers.Count;
            }

            ViewBag.UserRight  = GetUserRight();
            ViewBag.SystemMail = MailController.InitSystemFrom();

            return(View(model));
        }