コード例 #1
0
        public ActionResult EmailDocument(int id)
        {
            Document      document      = db.Documents.Find(id);
            DocumentEmail documentEmail = new DocumentEmail()
            {
                Document = document, Email = new Email()
            };

            return(View(documentEmail));
        }
コード例 #2
0
        private SortedDictionary <string, string> getVariableDict(
            Employer employer,
            UserValues userValues,
            DocumentEmail documentEmail,
            IEnumerable <CustomVariable> customVariables,
            string jobName)
        {
            var dict =
                new SortedDictionary <string, string>(new VariableComparer())
            {
                ["$chefFirma"]          = employer.Company ?? "",
                ["$chefGeschlecht"]     = employer.Gender ?? "",
                ["$chefTitel"]          = employer.Degree ?? "",
                ["$chefVorname"]        = employer.FirstName ?? "",
                ["$chefNachname"]       = employer.LastName ?? "",
                ["$chefStrasse"]        = employer.Street ?? "",
                ["$chefPostleitzahl"]   = employer.Postcode ?? "",
                ["$chefStadt"]          = employer.City ?? "",
                ["$chefEmail"]          = employer.Email ?? "",
                ["$chefTelefonnummer"]  = employer.Phone ?? "",
                ["$chefMobilnummer"]    = employer.MobilePhone ?? "",
                ["$meinGeschlecht"]     = userValues.Gender ?? "",
                ["$meinTitel"]          = userValues.Degree ?? "",
                ["$meinVorname"]        = userValues.FirstName ?? "",
                ["$meinNachname"]       = userValues.LastName ?? "",
                ["$meineStrasse"]       = userValues.Street ?? "",
                ["$meinePostleitzahl"]  = userValues.Postcode ?? "",
                ["$meineStadt"]         = userValues.City ?? "",
                ["$meineEmail"]         = userValues.Email ?? "",
                ["$meineTelefonnummer"] = userValues.Phone ?? "",
                ["$meineMobilnummer"]   = userValues.MobilePhone ?? "",
                ["$beruf"]        = jobName ?? "",
                ["$emailBetreff"] = documentEmail.Subject ?? "",
                ["$emailText"]    = documentEmail.Body ?? "",
                ["$emailAnhang"]  = documentEmail.AttachmentName ?? "",
                ["$tagHeute"]     = DateTime.Today.Day.ToString("00"),
                ["$monatHeute"]   = DateTime.Today.Month.ToString("00"),
                ["$jahrHeute"]    = DateTime.Today.Year.ToString("0000"),
            };

            Variables.addVariablesToDict(customVariables.Select(x => x.Text), dict);
            return(dict);
        }
コード例 #3
0
        public ActionResult EmailDocument(int id, [Bind(Include = ("Document,Email"))] DocumentEmail documentEmail)
        {
            Document document     = documentEmail.Document;
            Email    emailEntered = documentEmail.Email;

            try
            {
                //Document document = db.Documents.Find(id);
                Email email = new Email {
                    Subject = emailEntered.Subject, Message = emailEntered.Message, RecipientEmail = emailEntered.RecipientEmail
                };
                email.SenderEmail    = "*****@*****.**";
                email.SenderPassword = MyKeys.EMAIL_PASSWORD;

                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From = new MailAddress(email.SenderEmail);
                mail.To.Add(email.RecipientEmail);
                mail.Subject = email.Subject;
                mail.Body    = email.Message + "\n\nClick this link to download the file!\n" + "http://localhost:54131/Publisher/Download/" + document.Id;

                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential(email.SenderEmail, email.SenderPassword);
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);

                ViewBag.Message = "The email has been sent successfully!";

                return(View());
            }
            catch
            {
                ViewBag.Message = "The email failed to send.";

                return(View());
            }
        }
コード例 #4
0
        public object GetDbObject(string table, AppUser appUser, Document document, int index = -1)
        {
            switch (table)
            {
            case "UserValues":
            {
                var userValues =
                    UserValues
                    .Where(x => x.AppUser.Id == appUser.Id)
                    .OrderByDescending(x => x.Id).FirstOrDefault();
                if (userValues == null)
                {
                    userValues = new UserValues {
                        AppUser = appUser
                    };
                    Add(userValues);
                    SaveChanges();
                }
                return(userValues);
            }

            case "DocumentEmail":
            {
                var documentEmail =
                    DocumentEmail
                    .Where(x => x.Document.Id == document.Id)
                    .OrderByDescending(x => x.Id)
                    .FirstOrDefault();
                if (documentEmail == null)
                {
                    documentEmail = new DocumentEmail {
                        Document = document
                    };
                    Add(documentEmail);
                    SaveChanges();
                }
                return(documentEmail);
            }

            case "Employer":
            {
                return(document.Employer);
            }

            case "CustomVariables":
            {
                if (index >= 1)
                {
                    var customVariable =
                        CustomVariables
                        .Where(x => x.Document.Id == document.Id)
                        .OrderBy(x => x.Id)
                        .Skip((int)index - 1)
                        .Take(1)
                        .FirstOrDefault();
                    if (customVariable == null)
                    {
                        customVariable = new CustomVariable {
                            Document = document
                        };
                        Add(customVariable);
                        SaveChanges();
                    }
                    return(customVariable);
                }
                else
                {
                    var customVariables =
                        CustomVariables
                        .Where(x => x.Document.Id == document.Id)
                        .OrderBy(x => x.Id);
                    return(customVariables);
                }
            }

            case "DocumentFiles":
            {
                if (index >= 1)
                {
                    var documentFile =
                        DocumentFiles
                        .Where(x => x.Document.Id == document.Id)
                        .OrderBy(x => x.Id)
                        .Skip((int)index - 1)
                        .Take(1)
                        .FirstOrDefault();
                    if (documentFile == null)
                    {
                        documentFile = new DocumentFile {
                            Document = document
                        };
                        Add(documentFile);
                        SaveChanges();
                    }
                    return(documentFile);
                }
                else
                {
                    return
                        (DocumentFiles
                         .Where(x => x.Document.Id == document.Id)
                         .OrderBy(x => x.Id)
                         .AsEnumerable <DocumentFile>());
                }
            }

            case "Document":
                return(document);

            case "SentApplications":
            {
                var sentApplications =
                    SentApplications
                    .Where(x => x.Document.AppUser.Id == appUser.Id)
                    .Include(x => x.Document)
                    .Include(x => x.Document.Employer)
                    .Include(x => x.UserValues)
                    .OrderByDescending(x => x.SentDate)
                    .AsEnumerable <SentApplication>();
                return(sentApplications);
            }

            default:
                throw new Exception($"Table not found: {table}");
            }
        }