示例#1
0
        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));
        }
示例#2
0
        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"));
        }
示例#3
0
        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));
        }