public void GenerateTestJSON()


        {
            FrameworkManager FM   = new FrameworkManager();
            AspectsManager   AM   = new AspectsManager();
            AnswersManager   ASWM = new AnswersManager();
            QuestionsManager QM   = new QuestionsManager();

            NurseSelfAssessmentAnswersManager NSAM = new NurseSelfAssessmentAnswersManager();
            //Get Aspects
            var aspect_Resul = AM.Get();
            var aspects_List = (List <AspectEntity>)aspect_Resul.Entity;
            var aspects_Dict = aspects_List.ToDictionary(x => x.AspectId, x => x);



            //Get Answers
            var answers_result = ASWM.Get();
            var answers_List   = (List <AnswerEntity>)answers_result.Entity;
            var answers_Dict   = answers_List.ToDictionary(x => (x.QuestionId, x.Value), x => x);

            //Get Questions
            var questions_result = QM.Get();
            var questions_List   = (List <QuestionEntity>)questions_result.Entity;
            var question_Dict    = questions_List.ToDictionary(x => x.AspectId, x => x);

            var criteria = new Dictionary <int, AnswerEntity>();

            var criteria_entity = new ListingCriteriaModel();

            criteria_entity.EmmployerId  = 1;
            criteria_entity.JobListingId = 3;

            decimal value = (decimal)0.66;

            for (int i = 1; i <= 30; i++)
            {
                var question = question_Dict[i];
                var answer   = new AnswerEntity();
                if (answers_Dict.TryGetValue((question.QuestionId, value), out answer))
                {
                    criteria.Add(i, answer);
                }
                ;
            }
            criteria_entity.Answers = criteria;

            var json = JsonConvert.SerializeObject(criteria_entity);

            Console.WriteLine(json);



            Assert.IsTrue(true);
        }
        public HttpResponseMessage PutCriteria_V1([FromBody] ListingCriteriaModel listingCriteriaModel)
        {
            var result = new Result();

            //Employer vertification
            object objemployer = null;

            Request.Properties.TryGetValue("employer", out objemployer);
            if (objemployer == null)
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized, new Result(false)));
            }
            var employer = objemployer as EmployerEntity;

            if (employer.EmployerId != listingCriteriaModel.EmmployerId)
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized, new Result(false)));
            }


            var timestamp = DateTime.Now;

            var ListingCriteria = new List <JobListingCriteriaEntity>();


            foreach (KeyValuePair <int, AnswerEntity> entry in listingCriteriaModel.Answers)
            {
                int          aspectId = entry.Key;
                AnswerEntity answer   = entry.Value;

                var listingCriterion = new JobListingCriteriaEntity();
                listingCriterion.AspectId     = aspectId;
                listingCriterion.QuestionId   = answer.QuestionId;
                listingCriterion.AnswerId     = answer.AnswerId;
                listingCriterion.Value        = answer.Value;
                listingCriterion.LastUpdate   = timestamp;
                listingCriterion.JobListingId = listingCriteriaModel.JobListingId;

                ListingCriteria.Add(listingCriterion);
            }

            result = _jobListingCriteriaManager.InsertCriteria(ListingCriteria);

            if (!result.Success)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, result));
            }

            result.Message = " Criteria updated successfully";
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }