public void DeleteSurvey(int surveyId, int moduleId)
{
var survey = this.LoadSurvey(surveyId, moduleId);
this.Context.Surveys.DeleteOnSubmit(survey);
this.Context.Sections.DeleteAllOnSubmit(survey.Sections);
var questions = survey.Sections.SelectMany(section => section.Questions);
this.Context.Questions.DeleteAllOnSubmit(questions);
var answers = questions.SelectMany(question => question.Answers);
this.Context.Answers.DeleteAllOnSubmit(answers);
var responses = this.Context.Responses.Where(response => response.SurveyId == surveyId);
this.Context.Responses.DeleteAllOnSubmit(responses);
var responseHeaders = responses.Select(response => response.ResponseHeader);
this.Context.ResponseHeaders.DeleteAllOnSubmit(responseHeaders);
this.Context.SubmitChanges();
}