Пример #1
0
        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();
        }
Пример #2
0
        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();
        }