Friday, November 6, 2015

How to get json Array through web api and insert in database

Json Request
===============
{"questions":

 "[{'option1':'Surat','option2':'ahmedabad','correctAnswer':'2','option3':'baroda','userId':'1','questionText':'What is big city in gujarat?'},{'option1':'d','option2':'sd','correctAnswer':'2','option3':'s','userId':'1','questionText':'222222'}]",
"questionCount":4}


========================



        [HttpPost]
        [ActionName("addQuestion")]
        public dynamic addQuestion(Pro_Questionslists question)
        {

            Dictionary<string, dynamic> dicto = new Dictionary<string, dynamic>();
            string abc = Convert.ToString(question.questions);
            JavaScriptSerializer jss = new JavaScriptSerializer();
            List<Pro_Questions> Contactlist = jss.Deserialize<List<Pro_Questions>>(abc);
            QuestionRepository obj = new QuestionRepository();
            obj.SaveQuestionAPI(Contactlist, question.questionsCount);
            if (obj != null)
            {
                dicto.Add("status", "1");
                dicto.Add("message", "success");
            }
            else
            {
                dicto.Add("status", "0");
                dicto.Add("message", "fail");
            }
            return dicto;
        }

======================================

   public class Pro_Questions
    {
        public int? page { get; set; }
        public string mode { get; set; }
        public int questionId { get; set; }
        public int userId { get; set; }
     
        public string questionText { get; set; }

        public string userName { get; set; }

        public int ID { get; set; }


        public int questionsCount { get; set; }
        public string option1 { get; set; }
        public string option2 { get; set; }
        public string option3 { get; set; }
        public string option4 { get; set; }
        public string option { get; set; }
    
        public string correctAnswer { get; set; }
  

        public DateTime? createdOn { get; set; }
        public bool status { get; set; }


        public string sortBy { get; set; }
        public string sortOrder { get; set; }
        public string searchField { get; set; }
        public string searchValue { get; set; }
    }

============================

  public void SaveQuestionAPI(List<Pro_Questions> objPro_Question, int count)
        {
            objDBHelper = new DBHelper();
            try
            {
                //   objPro_Question.mode = "INSERT";

                for (int i = 0; i < objPro_Question.Count; i++)
                {
                    if (objPro_Question[i].questionId > 0)
                    {
                        objDBHelper.AddParameter("@mode", "UPDATE");
                        objDBHelper.AddParameter("@questionId", objPro_Question[i].questionId);

                        objDBHelper.AddParameter("@userId", objPro_Question[i].userId);
                        objDBHelper.AddParameter("@option1", objPro_Question[i].option1);
                        objDBHelper.AddParameter("@option2", objPro_Question[i].option2);
                        objDBHelper.AddParameter("@option3", objPro_Question[i].option3);
                        //   objDBHelper.AddParameter("@option4", objPro_Question[i].option4);
                        objDBHelper.AddParameter("@questionText", objPro_Question[i].questionText);
                        objDBHelper.AddParameter("@correctAnswer", objPro_Question[i].correctAnswer);
                        objDBHelper.ExecuteScaler(SPName, CommandType.StoredProcedure);
                    }
                    else
                    {
                        objDBHelper.AddParameter("@mode", "INSERT");
                        //  objDBHelper.AddParameter("@questionId", objPro_Question.questionId);
                        objDBHelper.AddParameter("@userId", objPro_Question[i].userId);
                        objDBHelper.AddParameter("@option1", objPro_Question[i].option1);
                        objDBHelper.AddParameter("@option2", objPro_Question[i].option2);
                        objDBHelper.AddParameter("@option3", objPro_Question[i].option3);
                        //   objDBHelper.AddParameter("@option4", objPro_Question[i].option4);
                        objDBHelper.AddParameter("@questionText", objPro_Question[i].questionText);
                        objDBHelper.AddParameter("@correctAnswer", objPro_Question[i].correctAnswer);
                        objDBHelper.ExecuteScaler(SPName, CommandType.StoredProcedure);
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                CacheHelper.Clear(key);
                objDBHelper = null;
            }
        }
 

No comments:

Post a Comment