public ActionResult draftemails(SendEmailViewModel data) { StudentEmailMaster sem; if (data.Id != 0) { sem = db.StudentEmailMasters.Find(data.Id); } else { sem = new StudentEmailMaster(); } sem.AcademicYear = "not defined yet";//(db.AcademicYears.FirstOrDefault().Academic_Year_En==null)? "Not defined yet": db.AcademicYears.FirstOrDefault(x => x.isCurrent == true).Academic_Year_En; sem.MailContent = HttpUtility.HtmlDecode(data.EmailBody); sem.Subject = data.Subject; // string s = Regex.Replace(data.EmailBody, "<.*?>", String.Empty); sem.IsTemplate = false; sem.Type = "Draft"; sem.CreatedOn = DateTime.Now; sem.CreatedBy = (User.Identity.Name == "") ? "Naveed" : User.Identity.Name; HttpFileCollectionBase files = Request.Files; sem.IsFile = files.Count > 0 ? true : false; sem.NoFiles = files.Count; List <string> allfiles = new List <string>(); foreach (string fcName in Request.Files) { HttpPostedFileBase file = files[fcName]; if (!string.IsNullOrEmpty(file.FileName)) { if (sem.StudentEmailFiles.Count > 0) { var check = sem.StudentEmailFiles.FirstOrDefault(x => x.ShowFileName.Equals(file.FileName)); if (check == null) { StudentEmailFile filedetail = new StudentEmailFile(); filedetail.ShowFileName = file.FileName; filedetail.FileExtnsion = file.ContentType; filedetail.URL = DateTime.Now.Ticks.ToString(); filedetail.CreatedBy = "Naveed"; filedetail.CreatedOn = DateTime.Now; filedetail.IsActive = true; string path = "/Images/" + "Mailes/" + filedetail.URL + file.FileName.LastIndexOf('.'); string createpath = "/Images/" + "Mailes/"; string dicrectory = Request.MapPath(createpath); Directory.CreateDirectory(dicrectory); string dicrectory2 = Request.MapPath(path); allfiles.Add(dicrectory2); file.SaveAs(dicrectory2); sem.StudentEmailFiles.Add(filedetail); } } else { StudentEmailFile filedetail = new StudentEmailFile(); filedetail.ShowFileName = file.FileName; filedetail.FileExtnsion = file.ContentType; filedetail.URL = DateTime.Now.Ticks.ToString(); filedetail.CreatedBy = "Naveed"; filedetail.CreatedOn = DateTime.Now; filedetail.IsActive = true; string path = "/Images/" + "Mailes/" + filedetail.URL + file.FileName.LastIndexOf('.'); string createpath = "/Images/" + "Mailes/"; string dicrectory = Request.MapPath(createpath); Directory.CreateDirectory(dicrectory); string dicrectory2 = Request.MapPath(path); allfiles.Add(dicrectory2); file.SaveAs(dicrectory2); sem.StudentEmailFiles.Add(filedetail); } } } if (data.Id == 0) { sem = db.StudentEmailMasters.Add(sem); db.SaveChanges(); } else { db.SaveChanges(); } ResponceModel rm = new ResponceModel(); rm.Draftcount = db.StudentEmailMasters.Where(x => x.Type.Equals("Draft")).Count(); rm.Id = sem.Id; return(Json(rm, JsonRequestBehavior.AllowGet)); }
public ActionResult Sendemails(SendEmailViewModel data) { StudentEmailMaster sem = new StudentEmailMaster(); sem.AcademicYear = "not defined yet";//(db.AcademicYears.FirstOrDefault().Academic_Year_En==null)? "Not defined yet": db.AcademicYears.FirstOrDefault(x => x.isCurrent == true).Academic_Year_En; sem.MailContent = HttpUtility.HtmlDecode(data.EmailBody); sem.Subject = data.Subject; string s = Regex.Replace(data.EmailBody, "<.*?>", String.Empty); sem.IsTemplate = false; sem.Type = "Sent"; sem.CreatedOn = DateTime.Now; sem.CreatedBy = (User.Identity.Name == "") ? "Naveed" : User.Identity.Name; HttpFileCollectionBase files = Request.Files; sem.IsFile = files.Count > 0 ? true : false; sem.NoFiles = files.Count; List <string> allfiles = new List <string>(); for (var i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; if (!string.IsNullOrEmpty(file.FileName)) { StudentEmailFile filedetail = new StudentEmailFile(); filedetail.ShowFileName = file.FileName; filedetail.FileExtnsion = file.ContentType; filedetail.URL = DateTime.Now.Ticks.ToString(); filedetail.CreatedBy = User.Identity.Name == ""?"Naveed":User.Identity.Name; filedetail.CreatedOn = DateTime.Now; filedetail.IsActive = true; string path = "/Images/" + "Mailes/" + filedetail.URL + file.FileName.LastIndexOf('.'); string createpath = "/Images/" + "Mailes/"; string dicrectory = Request.MapPath(createpath); Directory.CreateDirectory(dicrectory); string dicrectory2 = Request.MapPath(path); allfiles.Add(dicrectory2); file.SaveAs(dicrectory2); sem.StudentEmailFiles.Add(filedetail); } } foreach (var i in data.Indivisuald) { StudentEmailDetail sed = new StudentEmailDetail(); string[] a = i.Split('/'); string id = a[0]; string email = a[1]; sed.Response = "Draft"; //WebUtil.SchoolToParent(email, data.EmailBody, data.Subject, allfiles) ? "Sent" : "Failed"; sed.Email = email; sed.Date = DateTime.Now; sed.CreatedOn = DateTime.Now; sed.CreatedBy = User.Identity.Name == "" ? "Naveed" : User.Identity.Name; sem.StudentEmailDetails.Add(sed); } db.StudentEmailMasters.Add(sem); db.SaveChanges(); var detaillist = db.StudentEmailDetails.Where(x => x.MastId == sem.Id).ToList(); //deviding by int loop = 0; int skip = 0; int take = 2; string ToEmail = "*****@*****.**"; loop = detaillist.Count / 2; for (int i = 0; i < loop + 1; i++) { var skiped = detaillist.Skip(skip).Take(take).Select(x => new sendemail() { Id = x.Id, Email = x.Email }).ToList(); if (skiped.Count > 0) { var Response = WebUtil.SchoolToParent(ToEmail, skiped, data.EmailBody, data.Subject, allfiles) ? "Sent" : "Failed"; foreach (var j in detaillist.Skip(skip).Take(take)) { j.Response = Response; db.SaveChanges(); } } skip = skip + 2; } return(RedirectToAction("Index")); }
public ActionResult ResendemailMaster(int id) { var master = db.StudentEmailMasters.Where(x => x.Id == id).FirstOrDefault(); StudentEmailMaster data = new StudentEmailMaster(); //data = master; data.AcademicYear = "not defined yet";//(db.AcademicYears.FirstOrDefault().Academic_Year_En==null)? "Not defined yet": db.AcademicYears.FirstOrDefault(x => x.isCurrent == true).Academic_Year_En; data.MailContent = master.MailContent; data.Subject = data.Subject; data.IsTemplate = false; data.Type = "Sent"; data.CreatedOn = DateTime.Now; data.IsFile = master.IsFile; data.NoFiles = master.NoFiles; data.School = master.School; data.AcademicYear = master.AcademicYear; data.IsTemplate = master.IsTemplate; data.CreatedBy = (User.Identity.Name == "") ? "Naveed" : User.Identity.Name; data.CreatedOn = DateTime.Now; foreach (var x in master.StudentEmailDetails.ToList()) { StudentEmailDetail detail = new StudentEmailDetail(); detail.Response = "Draft"; detail.CreatedBy = User.Identity.Name == "" ? "Naveed" : User.Identity.Name; detail.CreatedOn = DateTime.Now; detail.Email = x.Email; data.StudentEmailDetails.Add(detail); } foreach (var file in master.StudentEmailFiles.ToList()) { StudentEmailFile i = new StudentEmailFile(); i.CreatedBy = (User.Identity.Name == "") ? "Naveed" : User.Identity.Name; i.CreatedOn = DateTime.Now; i.URL = file.URL; i.ShowFileName = file.ShowFileName; i.IsActive = true; data.StudentEmailFiles.Add(i); } db.StudentEmailMasters.Add(data); db.SaveChanges(); var detaillist = data.StudentEmailDetails; var files = data.StudentEmailFiles; //deviding by int loop = 0; int skip = 0; int take = 2; string ToEmail = "*****@*****.**"; List <string> allfiles = new List <string>(); loop = detaillist.Count / 2; foreach (var i in files) { string path = "/Images/" + "Mailes/" + i.URL; string dicrectory2 = Request.MapPath(path); allfiles.Add(dicrectory2); } for (int i = 0; i < loop + 1; i++) { var skiped = detaillist.Skip(skip).Take(take).Select(x => new sendemail() { Id = x.Id, Email = x.Email }).ToList(); if (skiped.Count > 0) { var Response = WebUtil.SchoolToParent(ToEmail, skiped, data.MailContent, data.Subject, allfiles) ? "Success" : "Failed"; foreach (var j in detaillist.Skip(skip).Take(take)) { j.Response = Response; db.SaveChanges(); } } skip = skip + 2; } return(Json("hs", JsonRequestBehavior.AllowGet)); }