コード例 #1
0
        public ActionResult CSVExport()
        {
            IQueryable <Contact> items = _db.Contacts.Where(r => (CurrentUser.RoleDefault == "Admin" ? true : (r.RoleDefault == CurrentUser.RoleDefault))).OrderByDescending(r => r.ContactDate);

            MemoryStream output = new MemoryStream();
            StreamWriter writer = new StreamWriter(output, Encoding.UTF8);

            writer.Write("ID,");
            writer.Write("Date,");
            writer.Write("Name,");
            writer.Write("Email,");
            writer.Write("Phone,");
            writer.Write("Data,");
            writer.Write("Role,");
            writer.Write("Rool,");
            writer.Write("Url,");
            writer.Write("Referal");
            writer.WriteLine();
            foreach (Contact item in items)
            {
                writer.Write(item.ID); writer.Write(","); writer.Write("\"");
                writer.Write(item.ContactDate); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ClearForCSV(item.ContactName)); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ClearForCSV(item.ContactEmail)); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ClearForCSV(item.ContactPhone)); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ReplaceBrByDot(UcoString.ClearForCSV(item.ContactData))); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ClearForCSV(item.RoleDefault)); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ClearForCSV(item.Rool)); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.RemoveHTMLTagsFromString(UcoString.ClearForCSV(item.ContactUrl))); writer.Write("\""); writer.Write(","); writer.Write("\"");
                writer.Write(UcoString.ClearForCSV(item.ContactReferal)); writer.Write("\""); writer.WriteLine();
            }
            writer.Flush();
            output.Position = 0;
            return(File(output, "application/csv", "Contact.csv"));
        }
コード例 #2
0
        public ActionResult _SmallFormAdd(ContactSmallForm csf, string InvisibleCaptchaValue)
        {
            if (!CaptchaController.IsInvisibleCaptchaValid(InvisibleCaptchaValue))
            {
                ModelState.AddModelError(string.Empty, "Captcha error.");
                SF.LogError("_SmallFormAdd Captcha error");
                return(Content("Error: Captcha", "text/html"));
            }

            if (ModelState.IsValid)
            {
                Contact c = new Contact();

                c.ContactEmail = csf.ContactEmail;
                c.ContactName  = csf.ContactName;
                c.ContactPhone = csf.ContactPhone;

                c.ContactReferal = SF.GetCookie("Referal");
                string UrlReferrer = UcoString.GetUtf8String(Request.UrlReferrer.ToString());
                c.ContactUrl  = "<a target='_blank' href='" + UrlReferrer + "'>" + UrlReferrer + "</a>";
                c.ContactDate = DateTime.Now;

                _db.Contacts.Add(c);
                _db.SaveChanges();

                foreach (string item in RP.GetCurrentSettings().AdminEmail.Split(','))
                {
                    if (!SF.isEmail(item.Trim()))
                    {
                        continue;
                    }

                    _db.OutEmails.Add(new OutEmail
                    {
                        MailTo  = item.Trim(),
                        Subject = Uco.Models.Resources.SystemModels.ContactMailSubject
                                  .Replace("{ID}", c.ID.ToString())
                                  .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"]),
                        Body = Uco.Models.Resources.SystemModels.ContactMailBody
                               .Replace("{ID}", c.ID.ToString())
                               .Replace("{HTTP_HOST}", Request.ServerVariables["HTTP_HOST"])
                               .Replace("{ContactName}", c.ContactName)
                               .Replace("{ContactEmail}", c.ContactEmail)
                               .Replace("{ContactPhone}", c.ContactPhone)
                               .Replace("{ContactData}", c.ContactData)
                               .Replace("{ContactReferal}", c.ContactReferal)
                               .Replace("{ContactUrl}", c.ContactUrl),
                        TimesSent = 0,
                        LastTry   = DateTime.Now
                    });
                }

                _db.SaveChanges();

                return(Content(RP.GetTextComponent("_SmallFormAdd"), "text/html"));
            }
            else
            {
                SF.LogError("_SmallFormAdd Model not valid");
                return(Content("Error: Model not valid", "text/html"));
            }
        }