public static bool SendOrderConfirmation(OrderConfirmationModel model, ApplicationUser user) { Kontakdaten Kontakt = null; if (model.WMA.Lieferadresse != null) { Kontakt = model.WMA.Lieferadresse; } else { Kontakt = model.WMA.Auftraggeberadresse; } string Auftragsartikel = ""; float Gesamtpreis = 0; foreach (var artikel in model.Auftragsmengen) { var VEs = artikel.menge / artikel.artikel.Verpackungseinheit; var GesamtpreisArtikel = artikel.artikel.PreisProVE * artikel.menge / artikel.artikel.Verpackungseinheit; Gesamtpreis += artikel.artikel.PreisProVE * artikel.menge / artikel.artikel.Verpackungseinheit; Auftragsartikel += "\t" + VEs + "(" + artikel.artikel.Verpackungseinheit + ")" + "\t" + artikel.menge + "\t" + artikel.artikel.PreisProVE.ToString("0.00") + " €" + "\t\t" + GesamtpreisArtikel.ToString("0.00") + " €" + "\t\t" + artikel.artikel.Name + "\n"; } string mailBody = "Sehr geehrte(r) Frau/Herr " + model.UserName + ",\n\n" + "Ihre Bestellung ist bei uns eingegangen. Wir werden diese sorgfältig bearbeiten und mit der nächsten Lieferung versenden.\n\n" + "Voraussichtliches Lieferdatum: " + DateTime.Now.AddDays(1).ToString("dd.MM.yyy") + "\n\n" + "Auftragsnummer: \t" + model.WMA.Kennzeichnung + "\n" + "Bestelldatum: \t\t" + model.WMA.Bestelldatum.ToString("dd.MM.yyy") + "\n" + "Lieferanschrift: \t" + Kontakt.Name + "\n" + "\t\t\t" + Kontakt.Name2 + "\n" + "\t\t\t" + Kontakt.Name3 + "\n" + "\t\t\t" + Kontakt.Strasse + "\n" + "\t\t\t" + Kontakt.PLZ + " " + Kontakt.Ort + "\n\n\n" + "\tVEs\tAnzahl\tPreis VE\tGesamtpreis\tArtikel\n" + Auftragsartikel + "\n\n" + "\t\t\t\t\tGesamtpreis: " + Gesamtpreis.ToString("0.00") + " €\n\n\n" + "Wenn Sie weitere Fragen zu Ihrer Bestellung haben, helfen wir Ihnen gerne weiter. Sie erreichen uns unter der Rufnummer 0711-781988-30 oder [email protected]\n\n" + "Unser Serviceteam ist montags bis freitags von 09:00 Uhr bis 17:00 Uhr erreichbar.\n\n\n" + "Ihr Winkhardt-Team" ; if (!String.IsNullOrEmpty(mailBody)) { var message = new MailMessage(); //message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress(model.UserMail)); message.Subject = "Auftragsbestätigung: " + model.WMA.Kennzeichnung; message.Body = string.Format(mailBody, "*****@*****.**"); message.IsBodyHtml = false; using (var smtp = new SmtpClient()) { smtp.Send(message); } } return(true); }
private OrderConfirmationModel MapOrderConfirmationModel(Order order, Painting painting) { var model = new OrderConfirmationModel { PaintingTitle = painting.Title, PaintingPrice = order.Total.ToString("C"), OrderDescription = order.Description, OrderConfirmationCode = order.ConfirmationCode, CustomerEmail = order.Email, CustomerFirstName = order.FirstName, CustomerLastName = order.LastName, CustomerAddress1 = order.Street, CustomerAddress2 = order.Street2, CustomerCity = order.City, CustomerState = order.State, CustomerZipcode = order.ZipCode, CustomerPhoneNumber = order.Phone }; return model; }
public ActionResult AuftragAnlegen(FormCollection fc) { string Mailtext = "Bestellbestätigung\n\n"; Kontakdaten Auftraggeber = new Kontakdaten { Name2 = fc["Name"].ToString(), Name = fc["Name2"].ToString(), Name3 = fc["Name3"].ToString(), Strasse = fc["Strasse"].ToString(), Ort = fc["Ort"].ToString(), PLZ = fc["Plz"].ToString(), EMail = fc["EMail"].ToString(), Land = dms.Laender.Single(r => r.land == "Deutschland") }; Kontakdaten Lieferadresse = null; if (fc["TbName"].ToString() != fc["Name"].ToString()) { Lieferadresse = new Kontakdaten { Name2 = fc["TbName"].ToString(), Name = fc["Name2"].ToString(), Name3 = fc["Name3"].ToString(), Strasse = fc["Strasse"].ToString(), Ort = fc["Ort"].ToString(), PLZ = fc["Plz"].ToString(), EMail = fc["EMail"].ToString(), Land = dms.Laender.Single(r => r.land == "Deutschland") }; } //Kunde kunde = new Kunde{ Name = Auftraggeber.Name, Erstellungsdatum = DateTime.Now}; ////kunde.Hauptadresse = new Kontakdaten { Name = Auftraggeber.Name, Name2 = Auftraggeber.Name2, Name3 = Auftraggeber.Name3, Strasse = Auftraggeber.Strasse, PLZ = Auftraggeber.PLZ, Ort = Auftraggeber.Ort, Land = Auftraggeber.Land, Telefon = Auftraggeber.Telefon, EMail = Auftraggeber.EMail}; //Kunde KundeDB = dms.Kunden.SingleOrDefault(r => r.Name.Equals(fc["Name"].ToString()) && r.Hauptadresse.Name2.Equals(fc["Name2"].ToString())); Kunde KundeDB = dms.Kunden.Find(4409); //if (KundeDB != null) //{ // kunde = KundeDB; //} ICollection <Auftragsmenge> Auftragsmengen = new List <Auftragsmenge>(); foreach (var item in fc) { if (item.ToString().Length > 13 && item.ToString().Substring(0, 13) == "ArtikelMenge_") { int length = item.ToString().Length - 13; int ArtikelID = int.Parse(item.ToString().Substring(13, length)); Artikel artikel = dms.Artikell.Find(ArtikelID); int Menge = int.Parse(fc[item.ToString()]) * artikel.Verpackungseinheit; Auftragsmengen.Add(new Auftragsmenge { artikel = dms.Artikell.Find(ArtikelID), menge = Menge }); Mailtext = Mailtext + " - " + Menge + " " + artikel.Name + "\n"; } } var userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = userManager.FindByEmail(fc["EMail"].ToString()); string kennzeichen = ""; if (dms.Werbemittelauftraege.Where(r => r.Kennzeichnung.Contains("WMMA")).Count() > 0) { Werbemittelauftrag wmala = dms.Werbemittelauftraege.Where(r => r.Kennzeichnung.Contains("WMMA")).ToList().Last(); string laKennzeichnung = wmala.Kennzeichnung; if (wmala.Erstellungsdatum.Year < DateTime.Now.Year) { kennzeichen = "WMMA" + DateTime.Now.Year.ToString() + "_000001"; } else { int number = int.Parse(laKennzeichnung.Substring(9, 6)); number++; kennzeichen = "WMMA" + DateTime.Now.Year.ToString() + "_" + number.ToString("000000"); } } else { kennzeichen = "WMMA" + DateTime.Now.Year.ToString() + "_000001"; } Werbemittelauftrag WebShopAuftrag = new Werbemittelauftrag { Erstellungsdatum = DateTime.Now, Versanddatum = DateTime.Now, ZeitAuftragPacken = 0, Auftraggeberadresse = Auftraggeber, Kennzeichnung = kennzeichen, messe = dms.Messen.Single(r => r.isLandesmesse), isLandesmesseauftrag = true, ZeitAuftragAnlegen = 0, Bestelldatum = DateTime.Now, Auftragsmengen = Auftragsmengen, Stat = dms.Stati.Find(1), Pakete = new List <Paket>(), PSPNummer = fc["PSPNummer"].ToString(), //Kostenstelle = fc["Kostenstelle"].ToString(), Lieferadresse = Lieferadresse, kunde = KundeDB, Verschickungskosten = 0, Bemerkung = fc["Bemerkung"].ToString() }; dms.Werbemittelauftraege.Add(WebShopAuftrag); var model = new OrderConfirmationModel() { UserMail = fc["EMail"].ToString(), UserName = user.Vorname + " " + user.Nachname, Auftragsmengen = Auftragsmengen, WMA = WebShopAuftrag }; try { dms.SaveChanges(); Extensions.SendOrderConfirmation(model, user); //try //{ // string mailBody = ""; // if (Engine.Razor.IsTemplateCached("Bestellbestaetigung", null)) // { // mailBody = Engine.Razor.Run("Bestellbestaetigung", null, model); // } // else // { // var templateFilePath = System.Web.HttpContext.Current.Server.MapPath("~/Views/WebShop/Bestellbestaetigung.cshtml"); // var templateAsString = System.IO.File.ReadAllText(templateFilePath); // //var templateFolderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "WebShop"); // mailBody = Engine.Razor.RunCompile(templateAsString, "Bestellbestaetigung", null, model); // } // if (!String.IsNullOrEmpty(mailBody)) // { // userManager.SendEmail(user.Id, "Bestellbestätigung", mailBody); // var message = new MailMessage(); // message.To.Add(new MailAddress("*****@*****.**")); // message.Subject = "Test"; // message.Body = string.Format(mailBody, "Werbemittelapplikation"); // message.IsBodyHtml = true; // using (var smtp = new SmtpClient()) // { // smtp.Send(message); // } // } //} //catch (Exception ex) //{ // System.Diagnostics.Debug.WriteLine("Mail: " + ex.Message); //} } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); System.Diagnostics.Debug.Write("val probelem" + validationError.ErrorMessage); } } } ViewData["Artikel"] = dms.Artikell.Where(r => r.Landesmesseartikel).OrderBy(r => r.Name).ToList(); var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var ShopUser = UserManager.FindById(User.Identity.GetUserId()); ViewData["User"] = ShopUser; ViewData["AuftragAngelegt"] = "true"; return(View("Index")); //return PartialView("Bestellbestaetigung", model); }