public void AllIncidentsAsEmail() { string emails = HttpUtility.UrlDecode(Request.Form["e"]); var dates = Request.Form.GetValues("d[]").ToList(); var urls = Request.Form.GetValues("mi[]").ToList(); var events = Request.Form.GetValues("et[]").ToList(); var restOfMapUrls = Request.Form.GetValues("i[]").ToList(); int size = Request.Form.GetValues("d[]").Length; for (int i = 0; i < size; i++) { var date = HttpUtility.UrlDecode(dates[i]); var url = HttpUtility.UrlDecode(urls[i]); var ev = HttpUtility.UrlDecode(events[i]); var restOfMapUrl = HttpUtility.UrlDecode(restOfMapUrls[i]); dates.RemoveAt(i); urls.RemoveAt(i); events.RemoveAt(i); restOfMapUrls.RemoveAt(i); IEnumerable<string> markers = restOfMapUrl.Split(new[] { "&markers" }, StringSplitOptions.RemoveEmptyEntries); var searchedLocation = markers.First(); markers = markers.Skip(1); while (markers.Count() > 0) { var markerGroup = markers.Take(32).ToList(); markerGroup.Insert(0, searchedLocation); markers = markers.Skip(32); restOfMapUrls.Insert(i, HttpUtility.UrlDecode(string.Join("", markerGroup.Select(m => "&markers" + m).ToArray()))); events.Insert(i, ev); urls.Insert(i, url); dates.Insert(i, date); i++; size++; } i--; size--; } ViewData["size"] = size - 1; ViewData["restOfMapUrls"] = restOfMapUrls.ToArray(); ViewData["events"] = events.ToArray(); ViewData["urls"] = urls.ToArray(); ViewData["dates"] = dates.ToArray(); ViewData["query"] = HttpUtility.UrlDecode(Request.Form["query"]); byte[] pdf = GetPdf(null); var email = new EmailJobCreator(pdf, emails); email.Send(); }
public void IncidentAsEmail() { string emails = HttpUtility.UrlDecode(Request.Form["e"]); var date = HttpUtility.UrlDecode(Request.Form["d"]); var url = HttpUtility.UrlDecode(Request.Form["mi"]); var ev = HttpUtility.UrlDecode(Request.Form["et"]); var dates = new List<string>(); var urls = new List<string>(); var events = new List<string>(); var restOfMapUrls = new List<string>(); string restOfMapUrl = HttpUtility.UrlDecode(Request.Form["i"]); int size = 0; IEnumerable<string> markers = restOfMapUrl.Split(new[] { "&markers" }, StringSplitOptions.RemoveEmptyEntries); var searchedLocation = markers.First(); markers = markers.Skip(1); while (markers.Count() > 0) { var markerGroup = markers.Take(32).ToList(); markerGroup.Insert(0, searchedLocation); markers = markers.Skip(32); restOfMapUrls.Add(HttpUtility.UrlDecode(string.Join("", markerGroup.Select(m => "&markers" + m).ToArray()))); events.Add(ev); urls.Add(url); dates.Add(date); size++; } ViewData["size"] = size; ViewData["restOfMapUrls"] = restOfMapUrls.ToArray(); ViewData["events"] = events.ToArray(); ViewData["urls"] = urls.ToArray(); ViewData["dates"] = dates.ToArray(); ViewData["query"] = HttpUtility.UrlDecode(Request.Form["query"]); byte[] pdf = GetPdf(null); var email = new EmailJobCreator(pdf, emails); email.Send(); }