public QuestionMaster Create(QuestionMaster QM, Connection con) { if (con == null) { con = new Connection(); } Command cmd = new Command(); string query1 = ""; string query2 = ""; if (string.IsNullOrEmpty(QM.Question)) { throw new Exception("Question is required"); } else { query1 += "Question,"; query2 += "@Question,"; cmd.Parameters.Add("@Question", DBType.VarChar, QM.Question); } if (QM.QuestionGroup == 0) { throw new Exception("QuestionGroup is required"); } else { query1 += "QuestionGroup,"; query2 += "@QuestionGroup,"; cmd.Parameters.Add("@QuestionGroup", DBType.Int, QM.QuestionGroup); } query1 += "SrNo,"; query2 += "@SrNo,"; cmd.Parameters.Add("@SrNo", DBType.Int, QM.SrNo); if (QM.Active == 0) { throw new Exception("Active is required"); } else { query1 += "Active,"; query2 += "@Active,"; cmd.Parameters.Add("@Active", DBType.Int, QM.Active); } if (string.IsNullOrEmpty(QM.QLanguage)) { throw new Exception("QLanguage is required"); } else { query1 += "QLanguage,"; query2 += "@QLanguage,"; cmd.Parameters.Add("@QLanguage", DBType.VarChar, QM.QLanguage); } if (!string.IsNullOrEmpty(QM.QuestionType)) { query1 += "QuestionType,"; query2 += "@QuestionType,"; cmd.Parameters.Add("@QuestionType", DBType.VarChar, QM.QuestionType); } if (string.IsNullOrEmpty(QM.CurrectAnswer)) { throw new Exception("CurrectAnswer is required"); } else { query1 += "CurrectAnswer,"; query2 += "@CurrectAnswer,"; cmd.Parameters.Add("@CurrectAnswer", DBType.VarChar, QM.CurrectAnswer); } if (string.IsNullOrEmpty(QM.AnswerDetails)) { //throw new Exception("AnswerDetails is required"); } else { query1 += "AnswerDetails,"; query2 += "@AnswerDetails,"; cmd.Parameters.Add("@AnswerDetails", DBType.VarChar, QM.AnswerDetails); } if (QM.CreatedDate == Convert.ToDateTime("1900-01-01")) { throw new Exception("CreatedDate is required"); } else { query1 += "CreatedDate,"; query2 += "@CreatedDate,"; cmd.Parameters.Add("@CreatedDate", DBType.DateTime, QM.CreatedDate); } query1 += "CreatedBy,"; query2 += "@CreatedBy,"; cmd.Parameters.Add("@CreatedBy", DBType.Int, QM.CreatedBy); string Query = "INSERT INTO Question_Master(" + query1.TrimEnd(',') + ") VALUES (" + query2.TrimEnd(',') + ") ;" + (con.ServerType == DBServerType.MYSQL ? " SELECT last_insert_id(); " : "SELECT @@IDENTITY"); cmd.CommandText = Query; cmd.CommandType = DBConnection.CommandType.Text; con.cmd = cmd; DataTable DT = con.getDataTable(); QM.Qid = Convert.ToInt32(DT.Rows[0][0]); QuestionOptions qo = new QuestionOptions(); qo.Create(QM.Options, QM.Qid, con); return(QM); }