Esempio n. 1
0
        public ActionResult AddForeignKey(string field)
        {
            var databaseForModel = new Database();

            databaseForModel.Tables = new List <Table>();
            databaseForModel.Tables.AddRange(_currentDatabase.Tables);
            databaseForModel.Tables.Remove(_currentTable);

            AddForeignKeyModel model = new AddForeignKeyModel
            {
                Field    = field,
                Database = databaseForModel
            };

            return(PartialView("_AddForeignKey", model));
        }
Esempio n. 2
0
        public ActionResult AddForeignKey(AddForeignKeyModel model)
        {
            var table = _currentDatabase.Tables.FirstOrDefault(x => x.Name == model.ReferencedTable);

            if (table != null)
            {
                if (table.Fields.Select(x => x.Name).Contains(model.ReferencedProperty))
                {
                    if (_currentTable.ForeignKeys == null)
                    {
                        _currentTable.ForeignKeys = new List <ForeignKey>();
                    }

                    _currentTable.ForeignKeys.Add(new ForeignKey
                    {
                        ParentField = model.Field,
                        Field       = model.ReferencedProperty,
                        OriginTable = model.ReferencedTable
                    });
                }
            }

            return(View("Fields", _currentTable));
        }