public IHttpActionResult List(Dictionary <string, object> SearchData)
 {
     try
     {
         using (LovService obj = new LovService())
             return(Ok(obj.List(SearchData)));
     }
     catch (Exception Ex)
     {
         return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, Ex.Message.ToString())));
     }
 }
        public Dictionary <string, object> GetRecord(Dictionary <string, object> SearchData, string ServerImageUrl)
        {
            Dictionary <string, object> RetData = new Dictionary <string, object>();


            DataRow DROW = null;

            pim_docm mRow = new pim_docm();

            List <tablesd> mList = new List <tablesd>();
            tablesd        mRec  = new tablesd();

            LovService Lov = new LovService();



            string pkid       = SearchData["pkid"].ToString();
            string comp_code  = SearchData["comp_code"].ToString();
            string table_name = SearchData["table_name"].ToString();

            try
            {
                DataTable Dt_Rec = new DataTable();

                string str = ReadColumns(table_name, comp_code);

                sql  = " select grp_name, doc_table_name,doc_pkid,doc_grp_id,grp_level_name, doc_store_id, d.comp_name as store_name,  ";
                sql += " doc_slno, doc_name, doc_file_name, doc_thumbnail ";
                if (str.Length > 0)
                {
                    sql += "," + str;
                }
                sql += " from pim_docm a ";
                sql += " left join " + table_name + " b on a.doc_pkid = b.doc_parent_id ";
                sql += " left join pim_groupm c on a.doc_grp_id = c.grp_pkid ";
                sql += " left join companym   d on a.doc_store_id = d.comp_pkid ";
                sql += " where doc_pkid = '" + pkid + "'";

                Con_Oracle = new DBConnection();
                Dt_Rec     = Con_Oracle.ExecuteQuery(sql);
                Con_Oracle.CloseConnection();

                if (Dt_Rec.Rows.Count > 0)
                {
                    DROW = Dt_Rec.Rows[0];
                }

                foreach (DataRow Dr in Dt_Rec.Rows)
                {
                    mRow          = new pim_docm();
                    mRow.doc_pkid = Dr["doc_pkid"].ToString();
                    mRow.doc_slno = Lib.Conv2Integer(Dr["doc_slno"].ToString());

                    mRow.doc_store_id   = Dr["doc_store_id"].ToString();
                    mRow.doc_store_name = Dr["store_name"].ToString();

                    mRow.doc_grp_id         = Dr["doc_grp_id"].ToString();
                    mRow.doc_grp_level_name = Dr["grp_level_name"].ToString();
                    mRow.doc_name           = Dr["doc_name"].ToString();
                    mRow.doc_file_name      = Dr["doc_file_name"].ToString();
                    mRow.doc_table_name     = Dr["doc_table_name"].ToString();
                    mRow.doc_thumbnail      = Dr["doc_thumbnail"].ToString();
                    mRow.doc_server_folder  = Lib.getPath(ServerImageUrl, comp_code, table_name, mRow.doc_slno.ToString(), false);
                    mRow.doc_file_uploaded  = false;

                    break;
                }

                Dt_Rec = new DataTable();

                sql  = " select tab_name, tab_table_name, b.* from ";
                sql += " tablesm a inner join tablesd b on a.tab_pkid = tabd_parent_id ";
                sql += " where a.rec_company_code = '" + comp_code + "' and tab_table_name = '" + table_name + "' and b.rec_deleted ='N'";
                sql += " order by tabd_col_order ";

                Con_Oracle = new DBConnection();
                Dt_Rec     = Con_Oracle.ExecuteQuery(sql);
                Con_Oracle.CloseConnection();

                foreach (DataRow Dr in Dt_Rec.Rows)
                {
                    mRec = new tablesd();
                    mRec.tabd_table_name  = Dr["tab_table_name"].ToString();
                    mRec.tabd_col_name    = Dr["tabd_col_name"].ToString();
                    mRec.tabd_col_caption = Dr["tabd_col_caption"].ToString();
                    mRec.tabd_col_type    = Dr["tabd_col_type"].ToString();

                    mRec.tabd_col_case      = Dr["tabd_col_case"].ToString();
                    mRec.tabd_col_mandatory = Dr["tabd_col_mandatory"].ToString();

                    mRec.tabd_col_rows = Lib.Conv2Integer(Dr["tabd_col_rows"].ToString());

                    if (Dr["tabd_col_type"].ToString() == "DATE")
                    {
                        mRec.tabd_col_value = Lib.DatetoString(DROW["COL_" + Dr["tabd_col_name"].ToString()]);
                    }
                    else if (Dr["tabd_col_type"].ToString() == "LIST")
                    {
                        mRec.tabd_col_list  = Dr["tabd_col_list"].ToString();
                        mRec.tabd_col_id    = DROW["COL_" + Dr["tabd_col_name"].ToString()].ToString();
                        mRec.tabd_col_value = "";
                        if (Dr["tabd_col_id"].ToString().Length > 0)
                        {
                            mRec.tabd_col_value = Lov.getParamValue(comp_code, DROW["COL_" + Dr["tabd_col_name"].ToString()].ToString(), "PARAM_NAME");
                        }
                    }
                    else
                    {
                        mRec.tabd_col_value = DROW["COL_" + Dr["tabd_col_name"].ToString()].ToString();
                    }


                    mRec.tabd_col_len   = Lib.Conv2Integer(Dr["tabd_col_len"].ToString());
                    mRec.tabd_col_dec   = Lib.Conv2Integer(Dr["tabd_col_dec"].ToString());
                    mRec.tabd_col_order = Lib.Conv2Integer(Dr["tabd_col_order"].ToString());

                    mRec.tabd_col_file_uploaded = false;


                    mList.Add(mRec);
                }
            }
            catch (Exception Ex)
            {
                if (Con_Oracle != null)
                {
                    Con_Oracle.CloseConnection();
                }
                throw Ex;
            }
            RetData.Add("record", mRow);
            RetData.Add("list", mList);
            return(RetData);
        }