public ActionResult RequestQuotation(int enquiry_id, int group_id, string subject, string message_body) { Enquiry enquiry = db.Enquiries.Find(enquiry_id); var serviceProviders = db.ServiceProviders.Where(x => x.ServiceProviderGroupID == group_id); List <string> sendTo = new List <string>(); foreach (ServiceProvider serviceProvider in serviceProviders) { sendTo.Add(serviceProvider.EmailAddress); } if (sendTo.Count > 0) { try { EmailTemplate.Send(sendTo, "*****@*****.**", subject, EmailTemplate.FinalizeHtmlEmail(message_body), true); enquiry.QuotationRequested = true; } catch { return(RedirectToAction("Error")); } db.SaveChanges(); } ViewBag.group_id = new SelectList(db.ServiceProviderGroups, "ID", "Name"); return(RedirectToAction("Index")); }
public ActionResult SendTransportOrder(Enquiry enquiry, int service_provider_id, string subject, string message_body) { ServiceProvider serviceProvider = db.ServiceProviders.Find(service_provider_id); try { EmailTemplate.Send(serviceProvider.EmailAddress, "*****@*****.**", subject, EmailTemplate.FinalizeHtmlEmail(message_body), true); using (TranyrLogisticsDb context = new TranyrLogisticsDb()) { Enquiry currentEnquiry = context.Enquiries.Find(enquiry.ID); currentEnquiry.PreferedServiceProviderID = service_provider_id; currentEnquiry.TransportOrderSent = true; db.Entry(currentEnquiry).State = EntityState.Modified; db.SaveChanges(); } } catch { } return(RedirectToAction("CustomerConfirmation", new { id = enquiry.ID })); }
public ActionResult SendCustomerConfirmation(CustomerConfirmation customerConfirmation, string subject, string message_body) { Enquiry enquiry = db.Enquiries.Find(customerConfirmation.EnquiryID); if (enquiry is ExistingCustomerEnquiry) { ((ExistingCustomerEnquiry)enquiry).Customer = db.Customers.Where(x => x.CustomerNumber == ((ExistingCustomerEnquiry)enquiry).CustomerNumber).FirstOrDefault(); } else { return(RedirectToAction("Error")); } List <string> attachTransportOrder = null; if (Request.Files.Count > 0) { var file = Request.Files["FilePath"]; var fileName = Path.GetFileName(file.FileName); if (fileName != string.Empty) { string uploadDirectoryPath = Path.Combine( AppDomain.CurrentDomain.BaseDirectory + @"Uploads\EnquiryDocs\" + enquiry.ID + @"\" ); string savedFileName = Path.Combine( uploadDirectoryPath, DateTime.Now.Ticks + Path.GetExtension(fileName) ); if (!Directory.Exists(uploadDirectoryPath)) { Directory.CreateDirectory(uploadDirectoryPath); } file.SaveAs(savedFileName); customerConfirmation.ActualFileName = fileName; customerConfirmation.FilePathOnDisc = savedFileName; customerConfirmation.CreateDate = DateTime.Now; db.CustomerConfirmations.Add(customerConfirmation); attachTransportOrder = new List <string>(); attachTransportOrder.Add(customerConfirmation.FilePathOnDisc); } } if (ModelState.IsValid) { try { if (enquiry is PotentialCustomerEnquiry) { EmailTemplate.Send(((PotentialCustomerEnquiry)enquiry).EmailAddress, "*****@*****.**", subject, EmailTemplate.FinalizeHtmlEmail(message_body), true, attachTransportOrder); } else if (enquiry is ExistingCustomerEnquiry) { EmailTemplate.Send(((ExistingCustomerEnquiry)enquiry).Customer.EmailAddress, "*****@*****.**", subject, EmailTemplate.FinalizeHtmlEmail(message_body), true, attachTransportOrder); } enquiry.CustomerConfirmationSent = true; EmailTemplate.Send( "*****@*****.**", "*****@*****.**", "Customer Shipment Confirmation Sent", EmailTemplate.PrepareInternalCustomerConfirmationEmail(enquiry, @"~\views\EmailTemplate\InternalCustomerConfirmationEmail.html.cshtml"), true ); } catch { } db.Entry(enquiry).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("CustomerConfirmation", new { id = enquiry.ID })); } return(View(customerConfirmation)); }
public ActionResult SendQuotation(Quotation quotation, string subject, string message_body) { Enquiry enquiry = db.Enquiries.Find(quotation.EnquiryID); if (enquiry is ExistingCustomerEnquiry) { ((ExistingCustomerEnquiry)enquiry).Customer = db.Customers.Where(x => x.CustomerNumber == ((ExistingCustomerEnquiry)enquiry).CustomerNumber).FirstOrDefault(); } if (Request.Files.Count > 0) { var file = Request.Files["FilePath"]; var fileName = Path.GetFileName(file.FileName); string uploadDirectoryPath = Path.Combine( AppDomain.CurrentDomain.BaseDirectory + @"Uploads\EnquiryDocs\" + enquiry.ID + @"\" ); string savedFileName = Path.Combine( uploadDirectoryPath, DateTime.Now.Ticks + Path.GetExtension(fileName) ); if (!Directory.Exists(uploadDirectoryPath)) { Directory.CreateDirectory(uploadDirectoryPath); } file.SaveAs(savedFileName); quotation.ActualFileName = fileName; quotation.FilePathOnDisc = savedFileName; } quotation.CreateDate = DateTime.Now; if (ModelState.IsValid) { db.Quotations.Add(quotation); db.SaveChanges(); try { List <string> attachQuote = new List <string>(); attachQuote.Add(quotation.FilePathOnDisc); if (enquiry is PotentialCustomerEnquiry) { EmailTemplate.Send(((PotentialCustomerEnquiry)enquiry).EmailAddress, "*****@*****.**", subject, EmailTemplate.FinalizeHtmlEmail(message_body), true, attachQuote); } else if (enquiry is ExistingCustomerEnquiry) { EmailTemplate.Send(((ExistingCustomerEnquiry)enquiry).Customer.EmailAddress, "*****@*****.**", subject, EmailTemplate.FinalizeHtmlEmail(message_body), true, attachQuote); } enquiry.QuotationSent = true; } catch { return(RedirectToAction("Error")); } db.SaveChanges(); return(RedirectToAction("GenerateQuotation", new { id = enquiry.ID })); } return(View(quotation)); }