コード例 #1
0
        private CreateTableViewModel SetDefaultViewModel(CreateTableViewModel model)
        {
            if (model == null || string.IsNullOrEmpty(model.ConnectionString))
            {
                model = new CreateTableViewModel
                {
                    ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnectionString"].ToString()
                };
                model.Schema = "dbo";

                var columns = (List <ColumnViewModel>)model.Columns;
                columns.Add(new ColumnViewModel {
                    Name = "Id", Type = "INT", IsIdentity = true, IsNotNull = true, Description = "Identity"
                });
                columns.Add(new ColumnViewModel {
                    Name = "CreateUser", Type = "NVARCHAR", Length = 50, IsIdentity = false, IsNotNull = true, Default = "'SqlScript'", Description = "CreateUser"
                });
                columns.Add(new ColumnViewModel {
                    Name = "ModifyUser", Type = "NVARCHAR", Length = 50, IsIdentity = false, IsNotNull = false, Default = string.Empty, Description = "ModifyUser"
                });
                columns.Add(new ColumnViewModel {
                    Name = "CreateTime", Type = "DATETIME", IsIdentity = false, IsNotNull = true, Default = "GETDATE()", Description = "CreateTime"
                });
                columns.Add(new ColumnViewModel {
                    Name = "ModifyTime", Type = "DATETIME", IsIdentity = false, IsNotNull = false, Default = string.Empty, Description = "ModifyTime"
                });
            }

            return(model);
        }
コード例 #2
0
        public ActionResult Create(int id)
        {
            var model = new CreateTableViewModel();
            model.AppId = id;

            return this.View(model);
        }
コード例 #3
0
        public JsonResult GenScript(CreateTableViewModel model)
        {
            CreateTableGenerator generator = new CreateTableGenerator(model);

            return(new JsonResult {
                Data = generator.Generate()
            });
        }
コード例 #4
0
 public IActionResult CreateTable(CreateTableViewModel createTableVM)
 {
     if (ModelState.IsValid)
     {
         TableService.CreateTable(createTableVM.Nom, createTableVM.IdUser);
         return(RedirectToAction(nameof(HomeController.Index)));
     }
     return(View());
 }
コード例 #5
0
        public IActionResult CreateTable()
        {
            var createTableVM = new CreateTableViewModel
            {
                IdUser = UserService.GetUserByMail(User.Identity.Name).Id,
            };

            return(View(createTableVM));
        }
コード例 #6
0
        public ActionResult LoadDB(CreateTableViewModel model)
        {
            if (string.IsNullOrEmpty(model.TableName))
            {
                return(this.RedirectToAction("Index"));
            }

            CreateTableGenerator generator = new CreateTableGenerator(model);

            model = generator.LoadDB();
            return(this.View("Index", model));
        }
コード例 #7
0
        public async Task <IActionResult> Create(CreateTableViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var entityType =
                await Context.EntityTypes.FirstOrDefaultAsync(x => x.Id == model.SelectedTypeId);

            if (entityType == null)
            {
                return(View(model));
            }

            var newTable = new CreateTableViewModel
            {
                Name        = model.Name,
                EntityType  = GearSettings.DEFAULT_ENTITY_SCHEMA, //entityType.Name,
                Description = model.Description,
                TenantId    = CurrentUserTenantId,
                IsCommon    = model.IsCommon
            };
            var table = newTable.Adapt <TableModel>();
            await Context.Table.AddAsync(table);

            var dbResult = await Context.SaveAsync();

            if (dbResult.IsSuccess)
            {
                var response = _tablesService.CreateSqlTable(table, ConnectionString);
                if (response.Result)
                {
                    if (!table.IsCommon)
                    {
                        var tenants = _organizationService.GetAllTenants().Where(x => x.MachineName != GearSettings.DEFAULT_ENTITY_SCHEMA).ToList();
                        foreach (var tenant in tenants)
                        {
                            var tenantConfTable = table;
                            tenantConfTable.EntityType = tenant.MachineName;
                            _tablesService.CreateSqlTable(tenantConfTable, ConnectionString);
                        }
                    }
                    return(RedirectToAction("Edit", "Table", new { id = table.Id, tab = "one" }));
                }
            }
            else
            {
                ModelState.AppendResultModelErrors(dbResult.Errors);
                return(View(model));
            }

            return(View(model));
        }
コード例 #8
0
        public IActionResult Create()
        {
            var schemes       = Context.EntityTypes.Where(x => !x.IsDeleted).ToList();
            var defaultSchema = schemes.FirstOrDefault(x => x.MachineName.Equals(GearSettings.DEFAULT_ENTITY_SCHEMA));

            if (defaultSchema == null)
            {
                return(NotFound());
            }
            var model = new CreateTableViewModel
            {
                EntityTypes    = schemes,
                SelectedTypeId = defaultSchema.Id
            };

            return(View(model));
        }
コード例 #9
0
        public ActionResult Create(CreateTableViewModel model)
        {
            var table = new Table()
            {
                Name = model.Name,
                AppId = model.AppId,
                Fields = new HashSet<Field>()
            };

            table.Fields.Add(new Field()
            {
                Name = "Id",
                Type = "System.Guid"
            });

            if (model.Fields == null)
            {
                    this.TempData["Error"] = "You must have at least one field!";
                    return this.RedirectToAction(x => x.Create(model.AppId));
            }

            foreach (var item in model.Fields)
            {
                if (string.IsNullOrWhiteSpace(item.Name))
                {
                    this.TempData["Error"] = "Each field must have a name!";
                    return this.RedirectToAction(x => x.Create(model.AppId));
                }

                var field = new Field()
                {
                    Name = item.Name,
                    Type = item.Type
                };

                table.Fields.Add(field);
            }

            this.tables.Add(table);
            this.TempData["Notification"] = "Table successfully added!";
            return this.RedirectToAction(x => x.Overview(model.AppId));
        }
コード例 #10
0
 // GET: CreateTable
 public ActionResult Index(CreateTableViewModel model)
 {
     model = this.SetDefaultViewModel(model);
     return(View(model));
 }