CapRaffle.Controllers.EventController.ExportEvent C# (CSharp) Method

ExportEvent() public method

public ExportEvent ( int id ) : System.Web.Mvc.FileContentResult
id int
return System.Web.Mvc.FileContentResult
        public FileContentResult ExportEvent(int id)
        {
            var selectedevent = eventRepository.Events.Where(x => x.EventId == id).FirstOrDefault();
            if (selectedevent == null)
            {
                throw new ArgumentException("The event does not exist");
            }

            var start = selectedevent.StartTime.ToUniversalTime().ToString("yyyyMMddTHHMMssZ");
            var end = selectedevent.StartTime.AddHours(3).ToUniversalTime().ToString("yyyyMMddTHHMMssZ");

            var calendardata = "BEGIN:VCALENDAR\r\n";
            calendardata += "VERSION: 1.0\r\n";
            calendardata += "BEGIN:VEVENT\r\n";
            calendardata += "UID:"+Guid.NewGuid() + "\r\n";
            calendardata += "DTSTART:"+ start + "\r\n";
            calendardata += "DTEND:"+ end + "\r\n";
            calendardata += "SUMMARY:[CapRaffle] " + selectedevent.Name + "\r\n";
            calendardata += "DESCRIPTION:" + selectedevent.Description + "\r\n";
            calendardata += "CLASS:PUBLIC\r\n";
            calendardata += "CATEGORIES:" + selectedevent.Category.Name + "\r\n";
            calendardata += "END:VEVENT\r\n";
            calendardata += "END:VCALENDAR";
            var encoding = new UTF8Encoding();

            var bytearray = encoding.GetBytes(calendardata);

            var filename = selectedevent.Name + ".ics";
            Response.AppendHeader("Content-Disposition", "inline; filename=" + filename +";");

            return File(bytearray, "text/calendar", filename);
        }