public void buildEmailTamplateReportedIssues(SellerNotesReportedIssue NewReport)
        {
            var    DownloadRecored = db.Downloads.Where(m => m.id == NewReport.AgainstDownloadID).SingleOrDefault();
            var    buyer           = db.Users.Where(m => m.id == DownloadRecored.Downloader).Select(m => m.FirstName).SingleOrDefault();
            var    seller          = db.Users.Where(m => m.id == DownloadRecored.Seller).Select(m => m.FirstName).SingleOrDefault();
            var    Title           = DownloadRecored.NoteTitle;
            string body            = System.IO.File.ReadAllText(HostingEnvironment.MapPath("~/EmailTemplate/") + "TextReportIssues" + ".cshtml");

            body = body.Replace("ViewBag.bn", buyer);
            body = body.Replace("ViewBag.sn", seller);
            body = body.Replace("ViewBag.nt", Title);
            body = body.ToString();
            string subject = buyer + " Reported an issue for " + Title;
            string to      = db.SystemConfigurations.Where(m => m.Key == "Aemail").Select(m => m.Value).SingleOrDefault();
            string from    = db.SystemConfigurations.Where(m => m.Key == "Semail").Select(m => m.Value).SingleOrDefault();

            HomeController.buildEmailTamplate(subject, body, from, to);
        }
        public ActionResult Inappropriate(string Remark, string DownloadID)
        {
            int downloadID      = int.Parse(DownloadID);
            var downloadRecored = db.Downloads.Where(m => m.id == downloadID).SingleOrDefault();

            SellerNotesReportedIssue NewReport = new SellerNotesReportedIssue();

            NewReport.NoteID            = downloadRecored.NoteID;
            NewReport.ReportedByID      = downloadRecored.Downloader;
            NewReport.AgainstDownloadID = downloadID;
            NewReport.Remarks           = Remark;
            NewReport.CreatedDate       = DateTime.Now;
            NewReport.CreatedBy         = downloadRecored.Downloader;

            db.SellerNotesReportedIssues.Add(NewReport);
            db.SaveChanges();
            buildEmailTamplateReportedIssues(NewReport);
            return(RedirectToAction("MyDonwloads"));
        }
示例#3
0
        // intializing the template that we want to send to admin for marking note as inappropriate
        private void SpamReportTemplate(SellerNotesReportedIssue spam, string membername)
        {
            string from, to, body, subject;

            // get all texts from SpamReport.cshtml from EmailTemplate
            body = System.IO.File.ReadAllText(HostingEnvironment.MapPath("~/EmailTemplate/") + "SpamReport" + ".cshtml");

            // get notes and user by using SellerNotesReportedIssue object
            var note   = _dbcontext.SellerNotes.Find(spam.NoteID);
            var seller = _dbcontext.Users.Find(note.SellerID);

            // replace some text with note title, seller name and user's name who mark this note as inappropriate
            body = body.Replace("ViewBag.SellerName", seller.FirstName + " " + seller.LastName);
            body = body.Replace("ViewBag.NoteTitle", note.Title);
            body = body.Replace("ViewBag.ReportedBy", membername);
            body = body.ToString();

            // get support email
            var fromemail = _dbcontext.SystemConfigurations.Where(x => x.Key == "supportemail").FirstOrDefault();
            var tomail    = _dbcontext.SystemConfigurations.Where(x => x.Key == "notifyemail").FirstOrDefault();

            // set from, to, subject, body
            from    = fromemail.Value.Trim();
            to      = tomail.Value.Trim();
            subject = membername + " Reported an issue for " + note.Title;
            StringBuilder sb = new StringBuilder();

            sb.Append(body);
            body = sb.ToString();

            // create object of MailMessage
            MailMessage mail = new MailMessage();

            mail.From = new MailAddress(from, "NotesMarketplace");
            mail.To.Add(new MailAddress(to));
            mail.Subject    = subject;
            mail.Body       = body;
            mail.IsBodyHtml = true;

            // send mail (NotesMarketplace/SendMail/)
            SendingEmail.SendEmail(mail);
        }
示例#4
0
        public ActionResult ReportanIssue(int id, string remarks)
        {
            var        Emailid     = User.Identity.Name.ToString();
            User       user        = dbobj.Users.Where(x => x.EmailId == Emailid).FirstOrDefault();
            SellerNote sellrnote   = dbobj.SellerNotes.Where(x => x.Id == id).FirstOrDefault();
            Download   objdownload = dbobj.Downloads.Where(x => x.NoteId == id).FirstOrDefault();
            SellerNotesReportedIssue reportedIssue = dbobj.SellerNotesReportedIssues.Where(x => x.NoteId == sellrnote.Id && x.ReportedByid == user.ID).FirstOrDefault();

            if (reportedIssue != null)
            {
                reportedIssue.Remarks            = remarks;
                reportedIssue.Modifieddate       = DateTime.Now;
                reportedIssue.ModifiedBy         = user.ID;
                dbobj.Entry(reportedIssue).State = EntityState.Modified;
                dbobj.SaveChanges();
            }
            else
            {
                SellerNotesReportedIssue objseller1 = new SellerNotesReportedIssue
                {
                    NoteId            = sellrnote.Id,
                    Remarks           = remarks,
                    ReportedByid      = user.ID,
                    againstDownloadId = objdownload.Id,
                    CreatedBy         = objdownload.downloader,
                    CreatedDate       = DateTime.Now,
                    IsActive          = true
                };
                dbobj.SellerNotesReportedIssues.Add(objseller1);
                dbobj.SaveChanges();
            }
            SystemConfiguration system  = dbobj.SystemConfigurations.Where(x => x.Key == "SupportEmail").FirstOrDefault();
            SystemConfiguration system1 = dbobj.SystemConfigurations.Where(x => x.Key == "Password").FirstOrDefault();
            SystemConfiguration system2 = dbobj.SystemConfigurations.Where(x => x.Key == "EmailAddress").FirstOrDefault();

            SendEmailtoAdmin(system.Value, system1.Value, system2.Value, id);
            return(RedirectToAction("Dashboard", "Notes"));
        }
示例#5
0
        public ActionResult SpamReport(FormCollection form)
        {
            // get download id by form
            int downloadid = Convert.ToInt32(form["downloadid"]);

            // get ReportedIssues object
            var alreadyreportedspam = _dbcontext.SellerNotesReportedIssues.Where(x => x.AgainstDownloadID == downloadid).FirstOrDefault();

            // if user not slready reported spam
            if (alreadyreportedspam == null)
            {
                //get logged in user
                var user = _dbcontext.Users.Where(x => x.EmailID == User.Identity.Name).FirstOrDefault();

                // store logged in user name into variable
                string membername = user.FirstName + " " + user.LastName;

                // create a spam report object
                SellerNotesReportedIssue spamnote = new SellerNotesReportedIssue();

                spamnote.NoteID            = Convert.ToInt32(form["noteid"]);
                spamnote.AgainstDownloadID = downloadid;
                spamnote.ReportedByID      = user.UserID;
                spamnote.Remarks           = form["spamreport"];
                spamnote.CreatedDate       = DateTime.Now;
                spamnote.CreatedBy         = user.UserID;

                // save spam report object into database
                _dbcontext.SellerNotesReportedIssues.Add(spamnote);
                _dbcontext.SaveChanges();

                // send mail to admin that buyer reported the notes as inappropriate
                SpamReportTemplate(spamnote, membername);
            }
            return(RedirectToAction("MyDownloads"));
        }
示例#6
0
        public ActionResult Spam(int id)
        {
            //Auth User
            User user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);

            //Find Note on Download Table
            var download = db.Downloads.Where(x => x.ID == id).FirstOrDefault();


            //Note Seller
            var seller = db.Users.FirstOrDefault(x => x.ID == download.Seller);


            SellerNotesReportedIssue reportedIssue = new SellerNotesReportedIssue();
            string remark = Request.Form["Remark"];

            var checkAlreadyReport = db.SellerNotesReportedIssues.Where(x => x.NoteID == download.NoteID && x.ReportedByID == user.ID && x.AgainstDownloadID == download.ID).FirstOrDefault();

            if (checkAlreadyReport != null)
            {
                return(RedirectToAction("Index", "MyDownload"));
            }

            if (string.IsNullOrEmpty(remark))
            {
                return(Content("Please enter Remark..."));
            }


            //Save info in SellerNotesReportedIssue Table
            reportedIssue.NoteID            = download.NoteID;
            reportedIssue.ReportedByID      = user.ID;
            reportedIssue.AgainstDownloadID = download.ID;
            reportedIssue.Remarks           = remark;
            reportedIssue.CreatedDate       = DateTime.Now;
            reportedIssue.CreatedBy         = user.ID;
            reportedIssue.ModifiedDate      = DateTime.Now;
            reportedIssue.ModifiedBy        = user.ID;

            db.SellerNotesReportedIssues.Add(reportedIssue);
            db.SaveChanges();


            //Send Mail to Admin to Check Note
            var body = "<p>Hello Admins,</p><br>" +
                       "<p>We want to inform you that, {0} Reported an issue for {1}’s Note with title {2}. Please look at the notes and take required actions. </p><br><br>" +
                       "<p>Regards,</p>" +
                       "<p>Note MarketPlace</p>";

            var message = new MailMessage();

            message.To.Add(new MailAddress("*****@*****.**"));        // Reciever
            message.From       = new MailAddress("**[email protected]"); // Sender
            message.Subject    = user.FirstName + " " + user.LastName + " " + "Reported an issue for " + download.NoteTitle;
            message.Body       = string.Format(body, user.FirstName + " " + user.LastName, seller.FirstName + " " + seller.LastName, download.NoteTitle);
            message.IsBodyHtml = true;

            using (var smtp = new SmtpClient())
            {
                var credential = new NetworkCredential
                {
                    UserName = "******",
                    Password = "******"
                };
                smtp.Credentials = credential;
                smtp.Host        = "smtp.gmail.com";
                smtp.Port        = 587;
                smtp.EnableSsl   = true;
                smtp.Send(message);
            }

            return(RedirectToAction("Index", "MyDownload"));
        }