public FileResult GetReport(Report report, int? seminarId, string siteName)
{
var name = string.Empty;
var parameters = new Dictionary<string, string>();
var fileName = string.Empty;
switch (report)
{
case Report.AllContactsBoth:
name = "AllContactsBoth";
fileName = name;
break;
case Report.AllContactsAllSeminars:
name = "AllContactsAllSeminars";
fileName = name;
break;
case Report.AllContactsBySite:
name = "AllContactsBySite";
parameters.Add("sitename", siteName);
fileName = string.Format("{0}{1}", name, siteName);
break;
case Report.AllApplicantsBySite:
Check.Require(seminarId != null);
var seminar = RepositoryFactory.SeminarRepository.Queryable.Single(a => a.Id == seminarId.Value);
name = "AllApplicantsBySite";
parameters.Add("seminarId", seminarId.Value.ToString());
parameters.Add("SiteName", string.Format("{0} {1}", seminar.Year, seminar.Site.Id));
fileName = string.Format("{0}{1}", "AllApplicantsBySeminar", seminar.Site.Id);
break;
case Report.AllAttendeesBySeminar:
Check.Require(seminarId != null);
seminar = RepositoryFactory.SeminarRepository.Queryable.Single(a => a.Id == seminarId.Value);
name = "AllAttendeesBySeminar";
parameters.Add("seminarId", seminarId.Value.ToString());
parameters.Add("SeminarName", string.Format("{0} {1}", seminar.Year, seminar.Site.Id));
fileName = string.Format("{0}{1}", "AllAttendeesBySeminar", seminar.Site.Id);
break;
default:
throw new NotImplementedException();
break;
}
return File(GetReport(string.Format("/agribusiness/{0}", name), parameters), "application/excel", string.Format("{0}{1}.xls",DateTime.Now.Date.ToString("yyyyMMdd"), fileName));
}