예제 #1
0
        public object delete()
        {
            object res = null;
            bool   ok  = false;

            try
            {
                environment.docBegin(adapter.getDataSet());
                adapter.delete();
                environment.beginBatch();
                res = adapter.update();
                environment.commitBatch();
                ok = true;
            }
            catch (Exception exc)
            {
                environment.rollbackBatch();
                environment.getExceptionHandler().setException(exc);
            }
            finally
            {
                environment.docEnd();
            }

            if (ok)
            {
                if (handlerReferenceInformer != null)
                {
                    handlerReferenceInformer.Invoke(this, res);
                }
            }

            return(res);
        }
예제 #2
0
        public void export(XmlDocument doc)
        {
            if (this.getExportDescriptor() == null)
            {
                initExportDescriptor(this, _userAdapter);
            }
            correctDoc(doc);
            DataSet    dataSet    = _userAdapter.getDataSet();
            XmlElement xmlExpRoot = doc.CreateElement(_nodeItemName);

            xmlExpRoot.SetAttribute(_attrRootCode, dataSet.DataSetName);
            char   sepChar = '\t';
            string expTable;

            string[] expCols;
            IEnumerator <KeyValuePair <string, string[]> > expTabsEnumer = _expDesc.GetEnumerator();

            expTabsEnumer.Reset();
            while (expTabsEnumer.MoveNext())
            {
                expTable = expTabsEnumer.Current.Key;
                expCols  = expTabsEnumer.Current.Value;

                DataTable     table     = dataSet.Tables[expTable];
                IRowValidator validator = getValidator(expTable);
                //
                XmlElement xmlExpTab = doc.CreateElement(expTable);
                xmlExpTab.SetAttribute(_attrItemTableCols, ToolString.joinList(sepChar, expCols));
                xmlExpRoot.AppendChild(xmlExpTab);
                //
                StringWriter strData = new StringWriter();
                strData.WriteLine();
                foreach (DataRow expRow in table.Rows)
                {
                    if (validator.check(expRow))
                    {
                        bool isFirstVal = true;
                        foreach (string expCol in expCols)
                        {
                            if (isFirstVal)
                            {
                                isFirstVal = false;
                            }
                            else
                            {
                                strData.Write(sepChar);
                            }
                            strData.Write(_formating.format(expRow[expCol]));
                        }
                        strData.WriteLine();
                    }
                }
                xmlExpTab.InnerText = strData.GetStringBuilder().ToString();
            }
            doc[_nodeRootName].AppendChild(xmlExpRoot);
        }
        public virtual void reinitEditingForData()
        {
            initChanger();

            //init defaults
            if (userAdapter.getAdapterWorkState() == AdapterWorkState.stateAdd)
            {
                DataSet ds = userAdapter.getDataSet();

                string[][] arrDefaults = getDefaultValues();
                foreach (string[] arrTmp in arrDefaults)
                {
                    string tableName    = arrTmp[0];
                    string tableColName = arrTmp[1];
                    string valueStr     = arrTmp[2];

                    DataTable tableTmp = ds.Tables[tableName];
                    if (tableTmp != null)
                    {
                        DataColumn colTmp = tableTmp.Columns[tableColName];
                        if (colTmp != null)
                        {
                            string val_  = getValue(valueStr);
                            object value = XmlFormating.helper.parse(val_, colTmp.DataType);
                            ToolColumn.setColumnValue(tableTmp, colTmp.ColumnName, value);
                        }
                    }
                }
            }
        }
 public DataRow get()
 {
     return(ToolRow.getLastRealRow(adapter.getDataSet().Tables[table]));
 }