예제 #1
0
 private void showDiagram()
 {
     try
     {
         if (provider == null)
         {
             return;
         }
         IDataSetDesktop desktop = provider.Desktop;
         IDataSetFactory factory = DataSetFactoryChooser.Chooser[provider.FactoryName];
         DataSetService.Forms.FormDataSet form = new FormDataSet(desktop,
                                                                 new DataSetSerializable.DataDesktopSerializable(), factory, provider.ConnecionString);
         form.ShowDialog(this);
         desktop = form.Desktop;
         if (desktop != null)
         {
             provider.Desktop = desktop;
             string st = factory.GenerateStatement(desktop);
             textBoxStatement.Text = st;
         }
     }
     catch (Exception ex)
     {
         ex.ShowError(10);
     }
 }
예제 #2
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (openFileDialogData.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(openFileDialogData.FileName);
                XmlElement      el         = doc.DocumentElement;
                string          driver     = el.Attributes["driver"].Value;
                string          connection = el.Attributes["connection"].Value;
                string          query      = el.Attributes["query"].Value;
                IDataSetFactory factory    = DataSetFactoryChooser.Chooser[driver];
                provider.Factory         = factory;
                provider.FactoryName     = driver;
                provider.ConnecionString = connection;
                provider.Statement       = query;
                setProvider();
            }
            catch (Exception ex)
            {
                ex.ShowError(10);
                WindowsExtensions.ControlExtensions.ShowMessageBoxModal(this, ex.Message);
            }
        }
예제 #3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="desktop">Desktop</param>
 /// <param name="factory">Desktop facr\tory</param>
 /// <param name="dataFactory">Data set factorty</param>
 /// <param name="connectionString">Connection string</param>
 public FormDataSet(IDataSetDesktop desktop,
                    IDataSetDesktopFactory factory,
                    IDataSetFactory dataFactory, string connectionString)
 {
     InitializeComponent();
     this.connectionString = connectionString;
     this.dataFactory      = dataFactory;
     ResourceService.Resources.LoadControlResources(this, DataSetService.Forms.Utils.ControlUtilites.Resources);
     this.factory = factory;
     if (desktop == null)
     {
         createDesktop();
     }
     else
     {
         this.desktop = desktop;
     }
     try
     {
         createPanel();
     }
     catch (Exception)
     {
     }
 }
 public UpdateMeterReadingHandler(IUnitOfWork context, IDataSetFactory repository,
                                  UpdateMeterReadingsValidator validator) :
     base(context)
 {
     _repository = repository ?? throw new ArgumentNullException(nameof(repository));
     _validator  = validator ?? throw new ArgumentNullException(nameof(validator));
 }
예제 #5
0
 public BuklUploadAccountsHandler(IUnitOfWork context, IDataSetFactory repository,
                                  BuklUploadAccountsValidator validator) :
     base(context)
 {
     _repository = repository ?? throw new ArgumentNullException(nameof(repository));
     _validator  = validator ?? throw new ArgumentNullException(nameof(validator));
 }
예제 #6
0
 public DalcRelationMapper(IDalc dalc, IDataSetFactory dsFactory, string relationTblName, string fromFldName, string toFldName)
 {
     DbContext     = new DataRowDalcMapper(dalc, dsFactory.GetDataSet);
     TableName     = relationTblName;
     FromFieldName = fromFldName;
     ToFieldName   = toFldName;
 }
예제 #7
0
 public CookbookFactory(IDataSetFactory factory)
 {
     if (factory == null)
     {
         throw new ArgumentNullException(nameof(factory));
     }
     _factory = factory;
     Instance = this;
 }
예제 #8
0
 protected RepositoryBase(
     IStore store,
     ITableDefinitionGenerator tableDefinitionGenerator,
     IDataTableFactory dataTableFactory, IDataSetFactory dataSetFactory)
 {
     Store = store;
     TableDefinitionGenerator = tableDefinitionGenerator;
     this.DataTableFactory    = dataTableFactory;
     DataSetFactory           = dataSetFactory;
 }
예제 #9
0
        /// <summary>
        /// Gets metadata data set from connection string
        /// </summary>
        /// <param name="connectionString">The connection</param>
        /// <returns>The metadata data set</returns>
        DataSet IDataSetFactory.GetData(string connectionString)
        {
            IDataSetFactory f = this;

            System.Data.Common.DbConnection connection = f.Connection;
            connection.ConnectionString = connectionString;
            DataSet s = new DataSet();

            connection.Open();
            DataTable table = connection.GetSchema("Columns");

            s.Tables.Add(table);
            return(s);
        }
        /// <summary>
        /// Generates script
        /// </summary>
        /// <param name="table">Table</param>
        /// <param name="factory">Factory</param>
        /// <returns>Script</returns>
        public static List <string> GenerateScript(this ITable table, IDataSetFactory factory)
        {
            List <string> l = new List <string>();

            l.Add("CREATE TABLE dbo." + table.Name);
            l.Add("(");
            Dictionary <string, IColumn> d = table.Columns;
            int n = 0;

            foreach (string key in d.Keys)
            {
                string s = key + " " + factory.GenerateScript(d[key]);
                ++n;
                if (n < d.Count)
                {
                    s += ",";
                }
                l.Add(s);
            }
            l.Add(");");
            return(l);
        }
 public FooRepository(IDataSetFactory dsFactory)
 {
     _dsFactory = dsFactory;
 }
 public GetAccountsHandler(IUnitOfWork context, IDataSetFactory repository) :
     base(context)
 {
     _repository = repository ?? throw new ArgumentNullException(nameof(repository));
 }
예제 #13
0
        /// <summary>
        /// Gets standard data set
        /// </summary>
        /// <param name="tableName">Table name</param>
        /// <param name="colName">Column name</param>
        /// <param name="table">Table</param>
        /// <param name="factory">Factory</param>
        /// <returns>Standard data set</returns>
        static public DataSet GetStandardDataSet(string tableName, string colName, DataTable table, IDataSetFactory factory)
        {
            Dictionary <string, Dictionary <string, DataRow> > dicT = GetTables(tableName, colName, table);
            DataSet ds = new DataSet();

            foreach (string tn in dicT.Keys)
            {
                DataTable dt = new DataTable(tn);
                ds.Tables.Add(dt);
                Dictionary <string, DataRow> dicC = dicT[tn];
                foreach (string cn in dicC.Keys)
                {
                    DataRow row  = dicC[cn];
                    Type    type = factory.GetTypeFromRow(row);
                    if (type == null)
                    {
                        continue;
                    }
                    DataColumn col = new DataColumn(cn, type);
                    dt.Columns.Add(col);
                }
            }
            return(ds);
        }