Exemplo n.º 1
0
        /// <summary>
        /// Logs the entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <param name="structure">The structure of the entity.</param>
        internal void LogEntity(Entity entity, EntityStructure structure)
        {
            StringBuilder stringBuilder = new StringBuilder("[Entity: " + entity.Name + "]\n");

            foreach (var attribute in entity.AttributeValues)
            {
                if (structure.IsPrimaryKey(attribute.Key))
                {
                    stringBuilder.Append("  - [PK] " + attribute.Key + " => " + attribute.Value + "\n");
                }
                else if (structure.IsForeignKey(attribute.Key))
                {
                    stringBuilder.Append("  - " + attribute.Key + " => " + attribute.Value + " [FK references " + structure.ForeignKeys[attribute.Key].EntityName + "(" +
                                         structure.ForeignKeys[attribute.Key].KeyName + ")" + "]\n");
                }
                else
                {
                    stringBuilder.Append("  - " + attribute.Key + " => " + attribute.Value + "\n");
                }
            }

            string info = stringBuilder.ToString();

            try
            {
                StreamWriter file = new StreamWriter(ConfigurationManager.AppSettings["EntityManagerLogPath"], true);
                file.WriteLine(info);
                file.Close();
            }
            catch (Exception)
            {
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Expands a referenced <paramref name="entityStructure"/> with the primary keys.
        /// </summary>
        /// <param name="entityStructure">An EntityStructure reference.</param>
        internal void SetTablePrimaryKeys(ref EntityStructure entityStructure, string schema, string name)
        {
            StringBuilder builder = new StringBuilder("SELECT COL_NAME(ic.OBJECT_ID,ic.column_id) AS ColumnName ")
                                    .Append("FROM sys.indexes AS i ")
                                    .Append("INNER JOIN sys.index_columns AS ic ON i.OBJECT_ID = ic.OBJECT_ID AND i.index_id = ic.index_id ")
                                    .Append("INNER JOIN sys.objects as obj ON ic.object_id = obj.object_id ")
                                    .Append("WHERE i.is_primary_key = 1 AND SCHEMA_NAME(schema_id) = '")
                                    .Append(schema)
                                    .Append("' AND OBJECT_NAME(ic.OBJECT_ID) = '")
                                    .Append(name)
                                    .Append("'");

            try
            {
                SqlDataReader dataReader = queryExecutor.ExecuteQuery(builder.ToString());

                while (dataReader.Read())
                {
                    entityStructure.PrimaryKeys.Add(dataReader[0].ToString());
                }

                dataReader.Close();
                queryExecutor.CloseConnection();
            }
            catch (DbException)
            {
                throw;
            }
        }
Exemplo n.º 3
0
        public void LoadEntities(List <EntityWithKey> entities, string storagePath, string path, bool useLock = false)
        {
            try
            {
                entityStructures = serializedStorageClient.GetEntityStructures(path);
                catalog          = serializedStorageClient.GetCatalog(storagePath);

                logger.StartNewLog();

                // Restore the entities and its dependencies.
                foreach (var entity in entities)
                {
                    EntityStructure entityStructure = entityStructures.Find(entity.EntityName);
                    if (entityStructure == null)
                    {
                        throw new TdsLogicException("The given entity/table name (" + entity.EntityName + ") is not found.");
                    }

                    InnerLoadEntity(entity.EntityName, entity.PrimaryKeyValues, storagePath, useLock);
                }

                dbClient.ExecuteTransaction();
            }
            catch (Exception exception)
            {
                visitedEntities.Clear();
                lockedEntities.Clear();

                throw exception;
            }

            visitedEntities.Clear();
            lockedEntities.Clear();
        }
Exemplo n.º 4
0
 public IErrorsInfo CopyEntityStructure(IDataSource sourceds, IDataSource destds, string srcentity, string destentity, IProgress <PassedArgs> progress, CancellationToken token, bool CreateMissingEntity = true)
 {
     try
     {
         EntityStructure item = sourceds.GetEntityStructure(srcentity, true);
         if (item != null)
         {
             if (destds.Category == DatasourceCategory.RDBMS)
             {
                 IRDBSource rDB = (IRDBSource)destds;
                 rDB.DisableFKConstraints(item);
             }
             if (destds.CreateEntityAs(item))
             {
                 DMEEditor.AddLogMessage("Success", $"Creating Entity  {item.EntityName} on {destds.DatasourceName}", DateTime.Now, 0, null, Errors.Ok);
             }
             else
             {
                 DMEEditor.AddLogMessage("Fail", $"Error : Could not Create  Entity {item.EntityName} on {destds.DatasourceName}", DateTime.Now, 0, null, Errors.Failed);
             }
             if (destds.Category == DatasourceCategory.RDBMS)
             {
                 IRDBSource rDB = (IRDBSource)destds;
                 rDB.EnableFKConstraints(item);
             }
         }
     }
     catch (Exception ex)
     {
         DMEEditor.AddLogMessage("Fail", $"Error Could not Create  Entity {srcentity} on {destds.DatasourceName} ({ex.Message})", DateTime.Now, -1, "CopyDatabase", Errors.Failed);
     }
     return(DMEEditor.ErrorObject);
 }
        public async Task <object> GetEntityDataAsync(string EntityName, string filterstr)
        {
            var request = new HttpRequestMessage();

            client             = new HttpClient();
            client.BaseAddress = new Uri(Dataconnection.ConnectionProp.Url);

            EntityStructure ent = Dataconnection.ConnectionProp.Entities.Where(o => o.EntityName == EntityName).FirstOrDefault();

            request.Method     = HttpMethod.Get;
            request.RequestUri = new Uri(Dataconnection.ConnectionProp.Url + filterstr);
            foreach (WebApiHeader item in Dataconnection.ConnectionProp.Headers)
            {
                request.Headers.Add(item.headername, item.headervalue);
            }
            using (var response = await client.SendAsync(request).ConfigureAwait(false))
            {
                //    response.EnsureSuccessStatusCode();
                var body = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                string retval = body;
                if (!string.IsNullOrEmpty(ent.KeyToken) || !string.IsNullOrWhiteSpace(ent.KeyToken))
                {
                    var data       = JObject.Parse(body);
                    var location   = data.SelectToken("category");
                    var categories = location.SelectToken(ent.KeyToken);
                    retval = categories.ToString();
                }
                var y = DMEEditor.ConfigEditor.JsonLoader.DeserializeObjectString <List <dynamic> >(retval);
                return(y);
            }
        }
Exemplo n.º 6
0
        public Type GetEntityType(string EntityName)
        {
            EntityStructure x = GetEntityStructure(EntityName, false);

            DMTypeBuilder.CreateNewObject(EntityName, EntityName, x.Fields);
            return(DMTypeBuilder.myType);
        }
Exemplo n.º 7
0
        public List <SyncEntity> GetCreateEntityScript(IDataSource ds, List <string> entities, IProgress <PassedArgs> progress, CancellationToken token)
        {
            List <SyncEntity> rt = new List <SyncEntity>();

            try
            {
                foreach (string item in entities)
                {
                    var t = Task.Run <EntityStructure>(() => { return(ds.GetEntityStructure(item, true)); });
                    t.Wait();
                    EntityStructure t1 = t.Result;

                    t1.Created = false;
                }

                if (ds.Entities.Count > 0)
                {
                    var t = Task.Run <List <SyncEntity> >(() => { return(GetCreateEntityScript(ds, ds.Entities, progress, token)); });
                    t.Wait();

                    rt.AddRange(t.Result);
                }
            }
            catch (System.Exception ex)
            {
                DMEEditor.AddLogMessage("Fail", $"Error in getting entities from Database ({ex.Message})", DateTime.Now, -1, "CopyDatabase", Errors.Failed);
            }
            return(rt);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Expands a referenced <paramref name="entityStructure"/> with the attributes.
        /// </summary>
        /// <param name="entityStructure">An EntityStructure reference.</param>
        internal void SetTableAttributes(ref EntityStructure entityStructure, string schema, string name)
        {
            StringBuilder builder = new StringBuilder("SELECT COLUMN_NAME,DATA_TYPE ")
                                    .Append("FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '")
                                    .Append(schema)
                                    .Append("' AND TABLE_NAME = '")
                                    .Append(name)
                                    .Append("'");

            try
            {
                SqlDataReader dataReader = queryExecutor.ExecuteQuery(builder.ToString());

                while (dataReader.Read())
                {
                    entityStructure.Attributes.Add(dataReader[0].ToString(), dataReader[1].ToString());
                }

                dataReader.Close();
                queryExecutor.CloseConnection();
            }
            catch (DbException)
            {
                throw;
            }
        }
Exemplo n.º 9
0
        public void SetConfig(IDMEEditor pDMEEditor, IDMLogger plogger, IUtil putil, string[] args, PassedArgs obj, IErrorsInfo per)
        {
            Passedarg = obj;

            Logger          = plogger;
            util            = putil;
            ErrorObject     = per;
            DMEEditor       = pDMEEditor;
            vds             = (DataViewDataSource)DMEEditor.GetDataSource(obj.DMView.DataViewDataSourceID);
            Visutil         = (IVisUtil)obj.Objects.Where(c => c.Name == "VISUTIL").FirstOrDefault().obj;
            branch          = (IBranch)obj.Objects.Where(c => c.Name == "Branch").FirstOrDefault().obj;
            EntityStructure = (EntityStructure)obj.Objects.Where(c => c.Name == "EntityStructure").FirstOrDefault().obj;
            if (obj.Objects.Where(c => c.Name == "ParentBranch").Any())
            {
                Parentbranch = (IBranch)obj.Objects.Where(c => c.Name == "ParentBranch").FirstOrDefault().obj;
                ParentEntity = vds.GetEntityStructure(Parentbranch.BranchText, true);
            }


            if (obj.CurrentEntity != null)
            {
                EntityName = obj.CurrentEntity;
            }
            else
            {
                EntityName = "";
            }
            this.entitiesBindingNavigatorSaveItem.Click += EntitiesBindingNavigatorSaveItem_Click;
            this.otherentitiesbindingSource.DataSource   = vds.Entities.Where(o => o.Id > 0 && o.Id != EntityStructure.Id);

            this.entitiesBindingSource.DataSource = EntityStructure;
            this.fieldsBindingSource.DataSource   = this.entitiesBindingSource;
            //this.otherentityfieldsbindingSource.ResetBindings(true);
            this.ParentEntitycomboBox.SelectedIndexChanged += ParentEntitycomboBox_SelectedIndexChanged;
        }
Exemplo n.º 10
0
        public IMapping_rep CreateMapping(IMapping_rep x)
        {
            DMEEditor.ErrorObject.Flag = Errors.Ok;
            try
            {
                IDataSource ds1 = DMEEditor.GetDataSource(x.Entity1DataSource);
                IDataSource ds2 = DMEEditor.GetDataSource(x.Entity2DataSource);
                if (ds1 == null || ds2 == null)
                {
                    DMEEditor.ErrorObject.Flag    = Errors.Failed;
                    DMEEditor.ErrorObject.Message = "one of the Datasources Dont Exist";
                    DMEEditor.Logger.WriteLog($"one of the Datasources Dont Exist");
                }
                else
                {
                    EntityStructure dt1 = ds1.GetEntityStructure(x.EntityName1, false);
                    EntityStructure dt2 = ds2.GetEntityStructure(x.EntityName2, false);
                    x.Entity1Fields = dt1.Fields;

                    x.Entity2Fields = dt2.Fields;
                    DMEEditor.Logger.WriteLog($"Successful in Creating Mapping");
                }
            }
            catch (System.Exception ex)
            {
                DMEEditor.ErrorObject.Flag = Errors.Failed;
                DMEEditor.ErrorObject.Ex   = ex;
                x = null;
                DMEEditor.Logger.WriteLog($"Error in Creating Mapping({ex.Message})");
            }

            return(x);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Creates the insert query to insert the given entity.
        /// </summary>
        /// <param name="entity">An entity.</param>
        /// <param name="entityStructure">The structure of the given entity.</param>
        /// <returns>The SQL INSERT query string.</returns>
        internal string CreateInsertQuery(Entity entity, EntityStructure entityStructure)
        {
            //INSERT INTO @Tablename VALUES (@Value1, @ValueN)//
            StringBuilder builder = new StringBuilder("INSERT INTO ");

            builder.Append(entity.Name)
            .Append(" VALUES (");

            string separator = "";

            for (int i = 0; i < entity.AttributeValues.Count; i++)
            {
                string value = entity.AttributeValues.ElementAt(i).Value;
                string type  = entityStructure.Attributes[entity.AttributeValues.ElementAt(i).Key];

                builder.Append(separator)
                .Append(ConvertValue(value, type));

                separator = ", ";
            }

            builder.Append(")");

            return(builder.ToString());
        }
Exemplo n.º 12
0
        /// <summary>
        /// Creates the select query to retrieve the given entities.
        /// </summary>
        /// <param name="entityStructure">An entity structure.</param>
        /// <param name="keyValues">The dictionary with the given keys and values.</param>
        /// <returns>The SQL SELECT query string.</returns>
        internal string CreateSelectQuery(EntityStructure entityStructure, Dictionary <string, string> keyValues)
        {
            //SELECT @Attribute1, @AttributeN//
            StringBuilder builder = new StringBuilder("SELECT ");

            string separator = "";

            for (var i = 0; i < entityStructure.Attributes.Count; i++)
            {
                string attribute = entityStructure.Attributes.ElementAt(i).Key;
                string type      = entityStructure.Attributes.ElementAt(i).Value;

                builder.Append(separator)
                .Append(ConvertAttribute(attribute, type));
                separator = ", ";
            }
            // FROM @TableName WHERE @KeyAttribute1 = @KeyValue1 AND @KeyAttributeN = @KeyValueN//
            builder.Append(" FROM ")
            .Append(entityStructure.Name)
            .Append(" WHERE ");

            separator = "";
            for (var i = 0; i < keyValues.Count; i++)
            {
                string attribute = keyValues.ElementAt(i).Key;
                string type      = entityStructure.Attributes[keyValues.ElementAt(i).Key];

                builder.Append(separator)
                .Append('"').Append(attribute).Append('"').Append(" = ")
                .Append(ConvertValue(keyValues.ElementAt(i).Value, type));
                separator = " AND ";
            }

            return(builder.ToString());
        }
Exemplo n.º 13
0
        private void FieldsBindingSource_AddingNew(object sender, AddingNewEventArgs e)
        {
            EntityStructure entityStructure = (EntityStructure)entitiesBindingSource.Current;
            EntityField     entityField     = new EntityField();

            entityField.EntityName = entityStructure.EntityName;
        }
Exemplo n.º 14
0
 public EntityStructure GetEntityStructure(EntityStructure fnd, bool refresh = false)
 {
     if (Entities != null)
     {
         if (Entities.Count == 0)
         {
             if (Entities[0].Fields.Count == 0)
             {
                 Getfields();
             }
         }
     }
     else
     {
         Entities = new List <EntityStructure>();
         Getfields();
     }
     if (refresh)
     {
         Entities = new List <EntityStructure>();
         Getfields();
     }
     if (Entities.Count == 1)
     {
         return(Entities[0]);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 15
0
        public List <ChildRelation> GetChildTablesList(string tablename, string SchemaName, string Filterparamters)
        {
            EntityStructure dh = Entities[EntityListIndex(tablename)];

            switch (dh.Viewtype)
            {
            case ViewType.Table:
                return(GetDataSourceObject(tablename).GetChildTablesList(tablename, SchemaName, Filterparamters));

                ;

            case ViewType.Query:

            case ViewType.Code:

            case ViewType.File:

            case ViewType.Url:


            default:

                return(null);
            }
        }
Exemplo n.º 16
0
        public Type GetEntityType(string entityname)
        {
            EntityStructure dh = Entities[EntityListIndex(entityname)];
            Type            retval;

            switch (dh.Viewtype)
            {
            case ViewType.Table:
                retval = GetDataSourceObject(entityname).GetEntityType(entityname);
                break;

            case ViewType.Query:

            case ViewType.Code:

            case ViewType.File:

            case ViewType.Url:


            default:

                DMTypeBuilder.CreateNewObject(entityname, entityname, dh.Fields);
                retval = DMTypeBuilder.myType;
                break;
            }
            return(retval);
        }
Exemplo n.º 17
0
        //private void BlockColumnsDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    var senderGrid = (DataGridView)sender;

        //    if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
        //        e.RowIndex >= 0)
        //    {
        //        //if ((object)column == (object)color)
        //        //{
        //        //    colorDialog.Color = Color.Blue;
        //        //    colorDialog.ShowDialog();
        //        //}
        //    }

        //}

        //private void BlockColumnsDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    // Ignore clicks that are not in our
        //    if (e.ColumnIndex == blockColumnsDataGridView.Columns["MyButtonColumn"].Index && e.RowIndex >= 0)
        //    {
        //        Console.WriteLine("Button on row {0} clicked", e.RowIndex);
        //    }
        //}

        private void BlocksBindingSource_CurrentChanged(object sender, EventArgs e)
        {
            ReportBlock x = (ReportBlock)blocksBindingSource.Current;

            if (x.BlockColumns.Count() == 0)
            {
                if (!string.IsNullOrEmpty(this.viewIDComboBox.Text))
                {
                    ds = (DataViewDataSource)DMEEditor.GetDataSource(this.viewIDComboBox.Text);
                    EntityStructure           ent = ds.GetEntityStructure(this.entityIDComboBox.Text, true);
                    List <ReportBlockColumns> ls  = new List <ReportBlockColumns>();
                    if (ent != null)
                    {
                        int i = 0;
                        foreach (EntityField item in ent.Fields)
                        {
                            ReportBlockColumns c = new ReportBlockColumns();
                            c.ColumnName  = item.fieldname;
                            c.ColumnSeq   = i;
                            c.DisplayName = item.fieldname;
                            c.Show        = true;
                            i            += 1;

                            ls.Add(c);
                        }
                        x.BlockColumns = ls;
                    }
                }
            }
        }
Exemplo n.º 18
0
        private void EntitiesBindingSource_AddingNew(object sender, AddingNewEventArgs e)
        {
            EntityStructure entityStructure = new EntityStructure();

            entityStructure.Drawn    = false;
            entityStructure.Editable = true;
            e.NewObject = entityStructure;
        }
Exemplo n.º 19
0
        public List <ChildRelation> GetChildTablesList(string tablename, string SchemaName, string Filterparamters)
        {
            EntityStructure        ent  = Entities.Where(p => p.EntityName.Equals(tablename, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
            List <EntityStructure> ents = GetSeriesList(ent);

            Entities.AddRange(ents);
            return(null);
        }
Exemplo n.º 20
0
        private void EntitiesBindingSource_AddingNew(object sender, AddingNewEventArgs e)
        {
            EntityStructure en = new EntityStructure();
            DMDataView      dv = (DMDataView)dataViewDataSourceBindingSource.Current;

            en.ViewID   = dv.ViewID;
            e.NewObject = en;
        }
Exemplo n.º 21
0
        private void Getfields()
        {
            ds       = new DataSet();;
            Entities = new List <EntityStructure>();

            if (File.Exists(Path.Combine(Dataconnection.ConnectionProp.FilePath, Dataconnection.ConnectionProp.FileName)) == true)
            {
                try
                {
                    string json = File.ReadAllText(Path.Combine(Dataconnection.ConnectionProp.FilePath, Dataconnection.ConnectionProp.FileName));

                    ds = DMEEditor.ConfigEditor.JsonLoader.DeserializeSingleObject <DataSet>(json);

                    int i = 0;
                    foreach (DataTable tb in ds.Tables)
                    {
                        EntityStructure entityData = new EntityStructure();

                        string sheetname;
                        sheetname               = tb.TableName;
                        entityData.EntityName   = sheetname;
                        entityData.DataSourceID = Dataconnection.ConnectionProp.ConnectionName;
                        // entityData.SchemaOrOwnerOrDatabase = Database;
                        List <EntityField> Fields = new List <EntityField>();
                        int y = 0;

                        foreach (DataColumn field in tb.Columns)
                        {
                            Console.WriteLine("        " + field.ColumnName + ": " + field.DataType);

                            EntityField f = new EntityField();


                            //  f.tablename = sheetname;
                            f.fieldname = field.ColumnName;
                            f.fieldtype = field.DataType.ToString();
                            f.ValueRetrievedFromParent = false;
                            f.EntityName = sheetname;
                            f.FieldIndex = y;
                            Fields.Add(f);
                            y += 1;
                        }

                        i += 1;
                        entityData.Fields = new List <EntityField>();
                        entityData.Fields.AddRange(Fields);
                        Entities.Add(entityData);
                    }
                }
                catch (Exception)
                {
                }
            }
            else
            {
                DMEEditor.AddLogMessage("Error", "Json File Not Found " + Dataconnection.ConnectionProp.FileName, DateTime.Now, -1, "", Errors.Failed);
            }
        }
Exemplo n.º 22
0
        public void SaveEntity(Entity entity, EntityStructure entityStructure, string path)
        {
            if (!Directory.Exists(path + "\\Entities"))
            {
                Directory.CreateDirectory(path + "\\Entities");
            }

            entitiesToSave.Add(entity, BuildFileName(entity, entityStructure, path));
        }
Exemplo n.º 23
0
        public List <object> ConvertTableToList(DataTable dt, EntityStructure ent, Type enttype)
        {
            List <object> retval = new List <object>();

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    var ti = Activator.CreateInstance(enttype);
                    foreach (EntityField col in ent.Fields)
                    {
                        try
                        {
                            System.Reflection.PropertyInfo PropAInfo = ti.GetType().GetProperty(col.fieldname);
                            if (dr[col.fieldname] == System.DBNull.Value)
                            {
                                switch (col.fieldtype)
                                {
                                case "System.string":
                                    break;

                                case "System.DateTime":
                                    break;
                                }

                                PropAInfo.SetValue(ti, null, null);
                            }
                            else
                            {
                                //  TrySetProperty<enttype>(ti, dr[col.fieldname], null);
                                PropAInfo.SetValue(ti, dr[col.fieldname], null);
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                        // TrySetProperty<enttype>(ti, dr[col.fieldname], null);
                    }
                    retval.Add(ti);
                }
            }
            else
            {
                var ti = Activator.CreateInstance(enttype);
                foreach (EntityField col in ent.Fields)
                {
                    System.Reflection.PropertyInfo PropAInfo = ti.GetType().GetProperty(col.fieldname);
                    PropAInfo.SetValue(ti, null, null);
                }
                retval.Add(ti);
            }


            return(retval);
        }
Exemplo n.º 24
0
 private void ChangeDatasourceButton_Click(object sender, EventArgs e)
 {
     entitiesBindingSource.MoveFirst();
     for (int i = 0; i <= entitiesBindingSource.Count; i++)
     {
         entity = (EntityStructure)entitiesBindingSource.Current;
         entity.DataSourceID = this.NewDatasourcecomboBox1.Text;
         entitiesBindingSource.MoveNext();
     }
     this.entitiesDataGridView.Refresh();
 }
Exemplo n.º 25
0
 public EntityStructure GetEntityStructure(EntityStructure fnd, bool refresh = false)
 {
     if (Entities.Count > 0)
     {
         return(Entities[Entities.FindIndex(p => p.EntityName.Equals(fnd.EntityName, StringComparison.OrdinalIgnoreCase))]);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 26
0
        private IDMDataView CreateViewUsingTable(EntityStructure EntitySource)
        {
            IDMDataView DataView         = null;
            IDataSource DataSource       = null;
            IDataSource EntityDataSource = null;

            try
            {
                string viewname = null;
                string fullname = null;
                if (Visutil.controlEditor.InputBox("Create View", "Please Enter Name of View (Name Should not exist already in Views)", ref viewname) == System.Windows.Forms.DialogResult.OK)
                {
                    if ((viewname != null) && DMEEditor.ConfigEditor.DataConnectionExist(viewname + ".json") == false)
                    {
                        fullname = Path.Combine(DMEEditor.ConfigEditor.Config.Folders.Where(x => x.FolderFilesType == FolderFileTypes.DataView).FirstOrDefault().FolderPath, viewname + ".json");
                        ConnectionProperties f = new ConnectionProperties
                        {
                            FileName       = Path.GetFileName(fullname),
                            FilePath       = Path.GetDirectoryName(fullname),
                            Ext            = Path.GetExtension(fullname),
                            ConnectionName = Path.GetFileName(fullname)
                        };

                        f.Category      = DatasourceCategory.VIEWS;
                        f.DriverVersion = "1";
                        f.DriverName    = "DataViewReader";

                        DMEEditor.ConfigEditor.DataConnections.Add(f);
                        DataViewDataSource ds = (DataViewDataSource)DMEEditor.GetDataSource(f.ConnectionName);
                        EntityDataSource = DMEEditor.GetDataSource(EntitySource.DataSourceID);
                        if (EntitySource != null)
                        {
                            int x = ds.AddEntitytoDataView(EntityDataSource, EntitySource.EntityName, EntityDataSource.Dataconnection.ConnectionProp.SchemaName, null);
                        }
                        ds.WriteDataViewFile(fullname);
                        DataSource = DMEEditor.GetDataSource(f.ConnectionName);
                        DataView   = ds.DataView;
                        DataView.EntityDataSourceID = EntityDataSource.DatasourceName;
                    }
                    DMEEditor.AddLogMessage("Success", "Added View", DateTime.Now, 0, null, Errors.Ok);
                }
                else
                {
                    Visutil.controlEditor.MsgBox("DM Engine", "Please Try another name . DataSource Exist");
                }
            }
            catch (Exception ex)
            {
                string mes = "Could not Added View ";
                DMEEditor.AddLogMessage(ex.Message, mes, DateTime.Now, -1, mes, Errors.Failed);
            };
            return(DataView);
        }
Exemplo n.º 27
0
        public int GenerateDataView(IDataSource conn, string tablename, string SchemaName, string Filterparamters)
        {
            //int maxcnt;

            DMEEditor.ErrorObject.Flag = Errors.Ok;
            List <ChildRelation> ds = conn.GetChildTablesList(tablename, SchemaName, Filterparamters);
            //if (DataView.Entities.Count == 0)
            //{


            //    EntityStructure viewheader = new EntityStructure() { Id = NextHearId(), EntityName = DataView.ViewName };
            //    viewheader.DataSourceID = conn.DatasourceName;
            //    viewheader.EntityName = DataView.ViewName.ToUpper();
            //    viewheader.ParentId = 0;
            //    viewheader.ViewID = DataView.ViewID;

            //    DataView.Entities.Add(viewheader);
            //}


            //  maxcnt = DataView.Entities.Max(m => m.Id);
            EntityStructure maintab = new EntityStructure()
            {
                Id = NextHearId(), EntityName = tablename
            };

            maintab.DataSourceID         = conn.DatasourceName;
            maintab.EntityName           = tablename.ToUpper();
            maintab.ViewID               = DataView.ViewID;
            maintab.DatasourceEntityName = tablename;
            maintab.ParentId             = 0;

            DataView.Entities.Add(maintab);
            EntitiesNames.Add(maintab.EntityName);
            if (ds != null && ds.Count > 0)
            {
                // var tb = ds.Tables[0];
                //-------------------------------
                // Create Parent Record First
                //-------------------------------
                if (ds.Count > 0)
                {
                    foreach (ChildRelation r in ds)
                    {
                        EntityStructure a;
                        a = SetupEntityInView(DataView, DataView.Entities, r.child_table, tablename, r.child_column, r.parent_column, maintab.Id, conn.DatasourceName);
                    }
                }
            }

            return(maintab.Id);
        }
Exemplo n.º 28
0
        private void CreateCategories(int categoryid, string categoryname, int entityid)
        {
            EntityStructure catent = new EntityStructure();

            if (Entities.Count == 0)
            {
                catent.Id = 1;
            }
            else
            {
                catent.Id = Entities.Max(u => u.Id) + 1;
            }

            catent.ParentId         = entityid;
            catent.EntityName       = categoryname;
            catent.Viewtype         = ViewType.Url;
            catent.Category         = "Category";
            catent.DataSourceID     = DatasourceName;
            catent.CustomBuildQuery = $"/category/?api_key={Dataconnection.ConnectionProp.ApiKey}&category_id={categoryid}";
            Entities.Add(catent);
            var retval = GetCategoriesDataAsync("GetCategories", catent.CustomBuildQuery);

            retval.Wait();

            var      data       = JObject.Parse(retval.Result);
            var      categorytk = data.SelectToken("category");
            Category categorys  = JsonConvert.DeserializeObject <Category>(categorytk.ToString());

            //if (categorys.childseries.Count() > 0)
            //{
            //    foreach (Childsery childs in categorys.childseries)
            //    {
            //        EntityStructure serent = new EntityStructure();
            //        serent = new EntityStructure();
            //        serent.Id = Entities.Max(u => u.Id) + 1;
            //        serent.ParentId = catent.Id;
            //        serent.EntityName = childs.name;
            //        serent.Viewtype = ViewType.Url;
            //        serent.Category = "Series";
            //        serent.CustomBuildQuery = $"/series/?api_key={Dataconnection.ConnectionProp.ApiKey}&series_id={childs.series_id}";
            //        Entities.Add(serent);
            //    }
            //  ;
            //}
            if (categorys.childcategories.Count() > 0)
            {
                foreach (Childcategory ct in categorys.childcategories)
                {
                    CreateChildCategories(ct, catent.Id);
                }
            }
        }
Exemplo n.º 29
0
        public int AddEntitytoDataView(EntityStructure maintab)
        {
            DMEEditor.ErrorObject.Flag = Errors.Ok;
            string tablename = maintab.DatasourceEntityName;

            try
            {
                maintab.Id     = NextHearId();
                maintab.ViewID = 0;
                if (maintab.ParentId == -1)
                {
                    maintab.ParentId = 0;
                }

                //--- check entity already exist , if it does change Entity Name
                if (CheckEntityExist(maintab.DatasourceEntityName))
                {
                    int cnt = EntitiesNames.Where(p => p.Equals(maintab.DatasourceEntityName, StringComparison.OrdinalIgnoreCase)).Count() + 1;
                    maintab.EntityName = maintab.DatasourceEntityName + "_" + cnt;
                }

                DataView.Entities.Add(maintab);
                EntitiesNames.Add(maintab.EntityName);
                IDataSource entityds = DMEEditor.GetDataSource(maintab.DataSourceID);
                if (entityds != null && entityds.Category == DatasourceCategory.RDBMS)
                {
                    List <ChildRelation> ds = entityds.GetChildTablesList(maintab.DatasourceEntityName, entityds.Dataconnection.ConnectionProp.SchemaName, null);
                    if (ds != null && ds.Count > 0)
                    {
                        // var tb = ds.Tables[0];
                        //-------------------------------
                        // Create Parent Record First
                        //-------------------------------
                        if (ds.Count > 0)
                        {
                            foreach (ChildRelation r in ds)
                            {
                                EntityStructure a;
                                a = SetupEntityInView(DataView, DataView.Entities, r.child_table, maintab.DatasourceEntityName, r.child_column, r.parent_column, maintab.Id, entityds.DatasourceName);
                            }
                        }
                    }
                }

                return(maintab.Id);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
Exemplo n.º 30
0
        public DataRow ConvertItemClassToDataRow(EntityStructure ent)
        {
            DataTable dt = new DataTable();
            DataRow   dr;

            foreach (EntityField col in ent.Fields)
            {
                DataColumn co = dt.Columns.Add(col.fieldname);
                co.DataType = Type.GetType(col.fieldtype);
            }

            dr = dt.NewRow();
            return(dr);
        }