Example #1
0
        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());
        }
Example #2
0
        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());
        }