public IActionResult Index()
        {
            TableCreateModel model        = JsonSerializer.Deserialize(TempData["TableCreateModel"].ToString(), typeof(TableCreateModel)) as TableCreateModel;
            DbTableModel     dbTableModel = new DbTableModel();

            dbTableModel.FieldsInfo = new List <DbTableModel.FieldInfo>(model.Fields);

            if (dbTableModel.Table.Count == 0)
            {
                dbTableModel.Table.Add(new List <string>());
                for (int i = 0; i < dbTableModel.FieldsInfo.Count; i++)
                {
                    if (dbTableModel.FieldsInfo[i].FieldType == DbTableModel.allowedDataType.boolean)
                    {
                        dbTableModel.Table[0].Add("False");
                    }
                    else
                    {
                        dbTableModel.Table[0].Add("");
                    }
                }
            }

            return(View(dbTableModel));
        }
Esempio n. 2
0
        public IHttpActionResult Create(TableCreateModel tableCreateModel)
        {
            if (!ModelState.IsValid || tableCreateModel == null)
            {
                return(BadRequest());
            }
            var table = tableCreateModel.GenerateTable(User.Identity.GetUserId());

            return(Ok(new
            {
                Id = table.Id
            }));
        }
        public IActionResult Index()
        {
            TableCreateModel tableCreateModel = new TableCreateModel();

            int numberOfFields = int.Parse(TempData["tableFieldsNumber"].ToString());

            TempData.Save();

            for (int i = 0; i < numberOfFields; i++)
            {
                tableCreateModel.Fields.Add(new DbTableModel.FieldInfo($"field_{i}", DbTableModel.allowedDataType.text, false));
            }

            return(View("CreateTablePage", tableCreateModel));
        }
        public IActionResult CreateTable(TableCreateModel model, int primaryField)
        {
            model.Fields[primaryField].IsPrimaryKey = true;

            string cs = @"Data source=C:\BSU_Season5\ServiceOrientedProgramming\Lab1Work\Lab1\DB\data.db";

            using var con = new SQLiteConnection(cs);
            con.Open();

            using var cmd = con.CreateCommand();

            string fieldsStr = "";

            for (int i = 0; i < model.Fields.Count; i++)
            {
                fieldsStr += model.Fields[i].FieldName + " " + SqliteDbConverter.GetDbType(model.Fields[i].FieldType);

                if (model.Fields[i].IsPrimaryKey)
                {
                    fieldsStr += " PRIMARY KEY";
                }

                if (i < model.Fields.Count - 1)
                {
                    fieldsStr += ", ";
                }
            }

            cmd.CommandText = "DROP TABLE IF EXISTS newTable";

            cmd.ExecuteNonQuery();

            cmd.CommandText = $"CREATE TABLE IF NOT EXISTS newTable ({fieldsStr})";

            cmd.VerifyOnly();

            cmd.ExecuteNonQuery();

            TempData["TableCreateModel"] = JsonSerializer.Serialize(model, typeof(TableCreateModel));
            return(RedirectToAction("Index", "EditTable"));
        }