public JsonResponse <int> NewEnquiry(OnlineEnquiry appointment) { JsonResponse <int> response = new JsonResponse <int>(); if (!ModelState.IsValid) { response.FailedValidations = ModelState.Keys.ToArray(); response.Message = string.Format("Kindly check {0}. It is missing or in incorrect format.", response.FailedValidations[0].Split('.').LastOrDefault()); return(response); } try { appointment.CreatedDate = DateTime.Now; _context.OnlineEnquiries.Add(appointment); response.IsSuccess = _context.SaveChanges() > 0 ? true : false; if (response.IsSuccess) { response.StatusCode = "200"; response.Message = "Your enquiry is successfully posted. We will send you email shortly."; response.SingleResult = appointment.ID; log.Info("[Success] NewEnquiry for Email: " + appointment.Email); } } catch (Exception ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = ex.Message; log.Error("NewEnquiry for Email: " + ex.Message); } return(response); }
public static int PrepareAndSendEnquiryEmail(OnlineEnquiry model) { string body = string.Empty; using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/Helpers/EmailTemplates/OnlineEnquiryResponse.html"))) { body = reader.ReadToEnd(); } var C = GetCompanyDetails(model.CompanyID); body = body.Replace("{Name}", model.Name); body = body.Replace("{Company}", C.Name); body = body.Replace("{Logo}", C.LogoUrl); EmailServiceDTO email = new EmailServiceDTO(); email.ToEmail = model.Email; email.Status = (int)AspectEnums.EmailStatus.Pending; email.Body = body; email.Priority = 2; email.IsAttachment = false; return(SendEmail(email)); }
public JsonResponse <int> SendEnquiryEmail(OnlineEnquiry model) { JsonResponse <int> response = new JsonResponse <int>(); try { EmailHelper eHelper = new EmailHelper(); int status = 0; if (model.Type == (int)AspectEnums.EnquiryType.Student) { status = eHelper.PrepareAndSendStudentEnquiryEmail(model); } else { status = eHelper.PrepareAndSendEnquiryEmail(model); } if (status == (int)AspectEnums.EmailStatus.Sent) { log.Info(string.Format("Email successfully sent to {0} at {1}.", model.Name, model.Email)); response.Message = string.Format("Email successfully sent to {0} at {1}.", model.Name, model.Email); response.StatusCode = "200"; response.IsSuccess = true; response.SingleResult = status; } else { log.Debug(string.Format("Could not send email to {0} at {1}.", model.Name, model.Email)); response.Message = string.Format("Could not send email to {0} at {1}.", model.Name, model.Email); response.StatusCode = "500"; response.IsSuccess = false; response.SingleResult = status; } } catch (Exception ex) { response.IsSuccess = false; response.Message = ex.Message; response.StatusCode = "500"; response.SingleResult = 0; } return(response); }
public static int PrepareAndSendStudentEnquiryEmail(OnlineEnquiry model) { string body = string.Empty; using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/Helpers/EmailTemplates/Student_Enquiry.html"))) { body = reader.ReadToEnd(); } body = body.Replace("{Name}", model.Name); body = body.Replace("{Email}", model.Email); body = body.Replace("{Mobile}", model.Phone); EmailServiceDTO email = new EmailServiceDTO(); email.ToEmail = model.Email; email.Status = (int)AspectEnums.EmailStatus.Pending; email.Body = body; email.Subject = "Student enquiry received."; email.Priority = 2; email.IsAttachment = false; return(SendEmail(email)); }