/// <summary>
        /// Creator: Awaab Elamin
        /// Created: 2020/03/06
        /// Approver: Mohamed Elamin
        /// Insert Questionnair in customer questionnair table
        /// </summary>
        /// <remarks>
        /// Updater: Mohamed Elamin
        /// Updated: 2020/04/21
        /// Update: Fixed comments format.
        /// </remarks>
        /// <returns>questionnair</returns>
        /// <returns>True or false depending if the record was inserted</returns>
        public bool inserQuestionnair(Questionnair questionnair)
        {
            bool result = false;
            //1\Connect to data base
            var conn = DBConnection.GetConnection();

            //2\A-Create a sqol command
            var cmd = new SqlCommand("sp_add_customer_questionnair", conn);

            //2-B classify the command type
            cmd.CommandType = CommandType.StoredProcedure;

            //2-b determine the paramerters values
            cmd.Parameters.AddWithValue("@CustomerEmail", questionnair.CustomerEmail);
            cmd.Parameters.AddWithValue("@AdoptionApplicationID", questionnair.AdoptionApplicationID);

            cmd.Parameters.AddWithValue("@Question1", questionnair.Question1);
            cmd.Parameters.AddWithValue("@Question2", questionnair.Question2);
            cmd.Parameters.AddWithValue("@Question3", questionnair.Question3);
            cmd.Parameters.AddWithValue("@Question4", questionnair.Question4);
            cmd.Parameters.AddWithValue("@Question5", questionnair.Question5);
            cmd.Parameters.AddWithValue("@Question6", questionnair.Question6);
            cmd.Parameters.AddWithValue("@Question7", questionnair.Question7);
            cmd.Parameters.AddWithValue("@Question8", questionnair.Question8);
            cmd.Parameters.AddWithValue("@Question9", questionnair.Question9);
            cmd.Parameters.AddWithValue("@Question10", questionnair.Question10);

            cmd.Parameters.AddWithValue("@Answer1", questionnair.Answer1);
            cmd.Parameters.AddWithValue("@Answer2", questionnair.Answer2);
            cmd.Parameters.AddWithValue("@Answer3", questionnair.Answer3);
            cmd.Parameters.AddWithValue("@Answer4", questionnair.Answer4);
            cmd.Parameters.AddWithValue("@Answer5", questionnair.Answer5);
            cmd.Parameters.AddWithValue("@Answer6", questionnair.Answer6);
            cmd.Parameters.AddWithValue("@Answer7", questionnair.Answer7);
            cmd.Parameters.AddWithValue("@Answer8", questionnair.Answer8);
            cmd.Parameters.AddWithValue("@Answer9", questionnair.Answer9);
            cmd.Parameters.AddWithValue("@Answer10", questionnair.Answer10);

            //3 A-try to connect to the data base
            try
            {
                conn.Open();
                //3 B- run the command
                if ((int)cmd.ExecuteNonQuery() == 1)
                {
                    result = true;
                }
            }
            catch (Exception)
            {
                result = false;
            }
            finally
            {
                //4- close the connection
                conn.Close();
            }
            return(result);
        }
        /// <summary>
        /// Creator: Awaab Elamin
        /// Created: 02/05/2020
        /// Approver: Mohamed Elamin, 2/21/2020
        ///
        /// retrieve all Adoption Apllications
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="questionnair"></param>
        /// <returns></returns>
        public bool inserQuestionnair(Questionnair questionnair)
        {
            bool result = false;
            int  count  = customerQuestionnars.Count;
            CustomerQuestionnar customerQuestionnair = new CustomerQuestionnar();

            customerQuestionnair.QuestionDescription = questionnair.Question1;
            customerQuestionnair.Answer = questionnair.Answer1;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question2;
            customerQuestionnair.Answer = questionnair.Answer2;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question2;
            customerQuestionnair.Answer = questionnair.Answer2;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question3;
            customerQuestionnair.Answer = questionnair.Answer3;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question4;
            customerQuestionnair.Answer = questionnair.Answer4;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question5;
            customerQuestionnair.Answer = questionnair.Answer5;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question6;
            customerQuestionnair.Answer = questionnair.Answer6;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question7;
            customerQuestionnair.Answer = questionnair.Answer7;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question8;
            customerQuestionnair.Answer = questionnair.Answer8;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question9;
            customerQuestionnair.Answer = questionnair.Answer9;
            customerQuestionnars.Add(customerQuestionnair);

            customerQuestionnair.QuestionDescription = questionnair.Question10;
            customerQuestionnair.Answer = questionnair.Answer10;
            customerQuestionnars.Add(customerQuestionnair);

            if ((count + 10) == (customerQuestionnars.Count))
            {
                result = true;
            }
            return(result);
        }
        /// <summary>
        /// Creator: Awaab Elamin
        /// Created: 2020/02/04
        /// Approver: Mohamed Elamin
        /// Addd custome questionnair to questionnair table
        /// </summary>
        /// <remarks>
        /// Updater: Mohamed Elamin
        /// Updated: 2020/04/21
        /// Update: Added Comments. Added try catch block.
        /// </remarks>
        /// <param name="questionnair"></param>
        /// <returns>True or false depending if the record was inserted </returns>
        public bool addQuestionnair(Questionnair questionnair)
        {
            bool result = false;

            // questionnair.CustomerEmail = model
            if (adoptionAccessor.inserQuestionnair(questionnair))
            {
                result = true;
            }
            return(result);
        }
 /// <summary>
 /// Creator: Awaab Elamin
 /// Created: 2020/3/7
 /// Approver: Mohamed Elamin
 /// default constructor assgined intial values
 /// </summary>
 /// <remarks>
 /// UPDATED BY: NA
 /// UPDATE DATE: NA
 /// CHANGE: NA
 /// </remarks>
 public AdoptionController()
 {
     adoptionApplication        = new AdoptionApplication();
     adoptionApplicationManager = new ReviewerManager();
     questionnair                = new Questionnair();
     _adoptionCustomerManager    = new AdoptionCustomerManager();
     _adoptionApplicationManager = new AdoptionApplicationManager();
     _adoptionAnimalManager      = new AdoptionAnimalManager();
     _adoptionAppointmentManager = new AdoptionAppointmentManager();
     _userManager                = new UserManager();
     _animalManager              = new AnimalManager();
 }
 public ActionResult Questionnair(Questionnair questionnair)
 {
     if (adoptionApplicationManager.addQuestionnair(questionnair))
     {
         return(RedirectToAction("Index"));
     }
     else
     {
         ViewBag.message = "You already filled the Questionnair";
         return(View(questionnair));
     }
 }
Example #6
0
        public ActionResult ConductSurvey(string userToken, string notificationId, string culture = "en")
        {
            var context = new EsmContext();
            var aCount = context.Answers.Count(x => x.RespondentKey == userToken && x.SurveyType == (int)SurveyType.QuestionnaireA);
            var bCount = 0; var supportCount = context.Answers.Count(x => x.RespondentKey == userToken && x.SurveyType == (int)SurveyType.Supportive);

            if (string.IsNullOrEmpty(notificationId))
            {
                notificationId = DateTime.Now.ToString();
            }
            else
            {
                bCount = context.Answers.Count(x => x.RespondentKey == userToken && x.NotificationId == notificationId && x.SurveyType == (int)SurveyType.QuestionnairB);
            }
            var question = new Questionnair(); string percentage = "";

            if (aCount < 11)
            {
                percentage = $"({Math.Round((double)(aCount+1)/(11+9)*100)}%)";
                question   = context.Questionnairs.Where(x => x.SurveyType == SurveyType.QuestionnaireA).OrderBy(x => x.QuestionnairId).Skip(aCount).FirstOrDefault();
            }
            else if (bCount < 9)
            {
                percentage = $"({Math.Round((double)(aCount +bCount+ 1) / (11 + 9)*100)}%)";
                question   = context.Questionnairs.Where(x => x.SurveyType == SurveyType.QuestionnairB).OrderBy(x => x.QuestionnairId).Skip(bCount).FirstOrDefault();
            }
            else if (supportCount < 3)
            {
                percentage = $"(100%+Extra:{Math.Round((double)(supportCount + 1) /3*100)}%)";
                question   = context.Questionnairs.Where(x => x.SurveyType == SurveyType.Supportive).OrderBy(x => x.QuestionnairId).Skip(supportCount).FirstOrDefault();
            }
            var model = new QuestionModel {
                UserToken = userToken, NotificationId = notificationId, Culture = culture
            };

            if (question == null)
            {
                model.Message = culture == "fr" ? "Vous avez fait l'enquĂȘte pour cette fois, merci" : "You have done the survey for this time, Thanks"; model.QuestionnairId = 0;
            }
            else
            {
                model.Type       = (int)question.QuestionType; model.HelpDesc = culture == "fr"?question.HelpDescFre: question.HelpDescEng;
                question.Choices = context.Options.Where(x => x.QuestionnairId == question.QuestionnairId).ToList();
                model.Text       = culture == "en" ? question.EnglishName : question.FrenchName; model.QuestionnairId = question.QuestionnairId;
                model.Choices    = (from c in question.Choices select new ChoiceModel {
                    ChoiceId = c.ChoiceId, IsUserInput = c.IsUserInput, Text = culture == "en" ? c.EnglishName : c.FrenchName
                }).ToList();
                model.Percentage = percentage;
            }
            return(View(model));
        }
        public ActionResult Questionnair(LoginViewModel model)
        {
            List <String> questions = new List <String>();

            questions = adoptionApplicationManager.retrieveAllQuestions();
            if (model.Email == "")
            {
                questionnair = new Questionnair();
            }
            questionnair.Question1  = questions[0];
            questionnair.Question2  = questions[1];
            questionnair.Question3  = questions[2];
            questionnair.Question4  = questions[3];
            questionnair.Question5  = questions[4];
            questionnair.Question6  = questions[5];
            questionnair.Question7  = questions[6];
            questionnair.Question8  = questions[7];
            questionnair.Question9  = questions[8];
            questionnair.Question10 = questions[9];
            return(View(questionnair));
        }