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")); }
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")); } }