Exemple #1
0
        public DataTable InsertDatasetDimensions(int patientId, int datasetId, SqlTransaction trans)
        {
            DataSetController dsCt    = new DataSetController();
            XmlNode           dataSet = dsCt.FindDatasetNode(datasetId);

            DataTable dt = ProcessChildren(dataSet, patientId, trans);

            return(dt);
        }
Exemple #2
0
        /*public DataSet InsertRecord(DataSet args, int datasetId)
         * {
         *
         *  //
         *  //DataTable orDims = this.GetOrDimensions(datasetId);
         *  //if (orDims.Rows.Count > 0)
         *  //{
         *  //    DataSet ds = new DataSet();
         *  //  ds.Tables.Add(orDims);
         *  //    return ds;
         *  //}
         *  //
         *
         *  SqlTransaction trans = null;
         *  DataRow dr = args.Tables[0].Rows[0];
         *  try
         *  {
         *      trans = DataAccessHelper.BeginTransaction();
         *      int patientId = (int)this._InsertRecord(dr, trans);
         *
         *      Patient pt = new Patient();
         *      DataTable dt = this.InsertDatasetDimensions(patientId, datasetId, trans);
         *      if (dt != null)
         *      {
         *          args.Tables.Add(dt);
         *      }
         *      trans.Commit();
         *      dr[Patient.PatientId] = patientId;
         *  }
         *  catch (Exception ex)
         *  {
         *      if (trans != null)
         *      {
         *          trans.Rollback();
         *      }
         *      throw (ex);
         *  }
         *  finally
         *  {
         *      if (trans != null)
         *      {
         *          SqlConnection conn = trans.Connection;
         *          trans.Dispose();
         *          if (conn != null)
         *          {
         *              conn.Close();
         *          }
         *      }
         *  }
         *  return args;
         * }
         */

        /// <summary>
        /// Returns a list of DataTables representing the OR dimension groups of a dataset
        /// </summary>
        /// <param name="datasetId"></param>
        /// <returns></returns>
        public DataSet GetPatientDatasetOrDimensions(int datasetId)
        {
            DataSet ds = new DataSet();

            DataSetController ct = new DataSetController();
            // for current dataset get list of or dimensions
            XmlNode dsNode = ct.FindDatasetNode(datasetId);

            if (dsNode != null)
            {
                XmlNodeList dimNodes = dsNode.SelectNodes("dimGroup[@operator='or']");
                for (int i = 0; i < dimNodes.Count; i++)
                {
                    XmlNode   dimNode = dimNodes[i];
                    DataTable dt      = this.GetDimensionTable();
                    dt.TableName = dt.TableName + "_" + i;
                    this.ProcessOrChildren(dimNode, dt, "or");
                    ds.Tables.Add(dt);
                }
            }
            return(ds);
        }