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); }
/*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); }