コード例 #1
0
        public string InsertNewColumn(CreateColumnVm vm)
        {
            _cvm = vm;
            string query = $"ALTER TABLE {_cvm.TableName} ADD {_cvm.ColumnName} ";
            string type  = null;

            switch (_cvm.TypeName)
            {
            case "String":
                type = $"nvarchar({_cvm.TypeLength})";
                break;

            case "Integer":
                type = $"int";
                break;

            case "Double":
                type = $"float({_cvm.TypeLength})";
                break;

            case "DateTime":
                type = "datetime";
                break;
            }
            query += type;

            var result = DataProxy.DataService.ExecuteQuery(query, _dbInf.ConnectionString, _dbInf.DbmsType);

            if (!string.IsNullOrWhiteSpace(result))
            {
                return(result);
            }

            //Adding default value if neccesary
            var defaultQueryResult = SetDefaultIfRequired();

            if (!string.IsNullOrWhiteSpace(defaultQueryResult))
            {
                return(defaultQueryResult);
            }

            //Adding unique constraint
            var uniqueQueryResult = SetUniqueIfRequired();

            if (!string.IsNullOrWhiteSpace(uniqueQueryResult))
            {
                return(uniqueQueryResult);
            }

            //Adding not null
            var notNullQueryResult = SetNotNullIfRequired();

            if (!string.IsNullOrWhiteSpace(notNullQueryResult))
            {
                return(notNullQueryResult);
            }

            return(string.Empty);
        }
コード例 #2
0
        public ActionResult UpdateWithNewColumn(CreateColumnVm vm)
        {
            if (ModelState.IsValid)
            {
                IHelper helper = new SqlServerHelper(DataBaseInfo);
                var     result = helper.InsertNewColumn(vm);

                if (result == string.Empty)
                {
                    TempData["StatusMessage"] = $"Колонка {vm.ColumnName} была создана.";
                }
                else
                {
                    TempData["StatusMessage"] = result;
                }

                return(RedirectToAction("Index", new { dbId = DbId, defaultTableName = vm.TableName }));
            }
            TempData["StatusMessage"] = "Были введены недопустимые данные.";
            return(RedirectToAction("Index", new { dbId = DbId }));
        }