public async Task <IHttpActionResult> PostSurveyImage(int surveyId, int questionId) { var session = db.GetCurrentSurveySession(surveyId, UserId).SingleOrDefault(); var answers = new List <Shared.Models.SurveyAnswer>(); string root = HostingEnvironment.MapPath("~/App_Data"); var provider = new MultipartFormDataStreamProvider(root); if (!Directory.Exists(root)) { Directory.CreateDirectory(root); } await Request.Content.ReadAsMultipartAsync(provider); string localPath = HostingEnvironment.MapPath("~/Images"); if (!Directory.Exists(localPath)) { Directory.CreateDirectory(localPath); } var answer = JsonConvert.DeserializeObject <Shared.Models.SurveyAnswer>(provider.FormData.GetValues("answer")[0]); foreach (var file in provider.FileData) { string fileName = string.Format("{0}_{1}.jpg", Guid.NewGuid().ToString().Replace("-", string.Empty), DateTime.Now.ToString("MMddyyyy")); File.Move(file.LocalFileName, Path.Combine(localPath, fileName)); answer.AnswerText = fileName; answers.Add(answer); } var sp = new AddSurveyAnswers() { SurveyId = surveyId, UserId = UserId, SessionId = session.SessionId, QuestionId = questionId, Answers = answers }; db.Database.ExecuteStoredProcedure(sp); return(Ok()); }
public IHttpActionResult PostSurveyAnswers(int surveyId, int questionId, List <Shared.Models.SurveyAnswer> answers) { var session = db.GetCurrentSurveySession(surveyId, UserId).SingleOrDefault(); if (session.EndDateUTC.HasValue) { db.AddUpdateSurveySession(session.SessionId, session.SurveyId, session.UserId, session.StartDateUTC, session.StartDateDTO, session.StartDateCTZ, null, null, null).SingleOrDefault(); } var sp = new AddSurveyAnswers() { SurveyId = surveyId, UserId = UserId, SessionId = session.SessionId, QuestionId = questionId, Answers = answers }; db.Database.ExecuteStoredProcedure(sp); return(Ok()); }