private void InsertingEditing() { switch (mission) { case "insert": { try { DatabaseManager dbManager = new DatabaseManager(); switch (entity) { case "Ingredients": { if (dbManager.CheckId("id=" + fields[0].Text, entity)) { throw new Exception("Такой id уже существует!"); } dbManager.AddIngred(fields[0].Text, fields[1].Text); break; } case "User": { if (dbManager.CheckId("Login='******'", entity)) { throw new Exception("Такой логин уже существует!"); } bool iA = false; if (fields[2].Text == "0" || fields[2].Text == "False") { iA = false; } if (fields[2].Text == "1" || fields[2].Text == "True") { iA = true; } User user = new User(fields[0].Text, fields[1].Text, iA, int.Parse(fields[3].Text), null); dbManager.AddUser(user); break; } case "Category": { if (dbManager.CheckId("id=" + fields[0].Text, entity)) { throw new Exception("Такой ID уже существует!"); } if (dbManager.CheckId("Name='" + fields[1].Text + "'", entity)) { throw new Exception("Такое название уже существует!"); } Category cat = new Category(int.Parse(fields[0].Text), fields[1].Text, int.Parse(fields[2].Text)); dbManager.AddCategory(cat); break; } case "Recipe": { if (dbManager.CheckId("id=" + fields[0].Text, entity)) { throw new Exception("Такой ID уже существует!"); } if (dbManager.CheckId("Name='" + fields[2].Text + "'", entity)) { throw new Exception("Такое название уже существует!"); } string[] ingreds = bigFields[0].Text.Split(','); List <string> ingrs = new List <string>(); for (int i = 0; i < ingreds.Length; i++) { ingrs.Add(ingreds[i]); } Image image = new Bitmap(fields[1].Text); Recipe recipe = new Recipe(int.Parse(fields[0].Text), image, fields[2].Text, ingrs, bigFields[1].Text, int.Parse(fields[5].Text), int.Parse(fields[6].Text), int.Parse(fields[7].Text)); dbManager.AddRecipe(recipe); break; } } } catch (Exception ex) { InfoForm iform = new InfoForm(ex.Message, Volume); iform.Show(); } break; } case "edit": { try { DatabaseManager dbManager = new DatabaseManager(); switch (entity) { case "User": { dbManager.Update(entity, "Pass", fields[1].Text, "Login", fields[0].Text); dbManager.Update(entity, "IsAdmin", fields[2].Text, "Login", fields[0].Text); dbManager.Update(entity, "Points", fields[3].Text, "Login", fields[0].Text); break; } case "Category": { if (dbManager.CheckId("Name='" + fields[1].Text + "'", entity) && fields[0].Text != recordId) { throw new Exception("Такое название уже существует!"); } dbManager.Update(entity, "Name", fields[1].Text, "id", fields[0].Text); dbManager.Update(entity, "Level", fields[2].Text, "id", fields[0].Text); break; } case "Recipe": { if (dbManager.CheckId("Name='" + fields[2].Text + "'", entity) && fields[0].Text != recordId) { throw new Exception("Такое название уже существует!"); } dbManager.Update(entity, "Name", fields[2].Text, "id", fields[0].Text); dbManager.Update(entity, "Ingredients", bigFields[0].Text, "id", fields[0].Text); dbManager.Update(entity, "Description", bigFields[1].Text, "id", fields[0].Text); dbManager.Update(entity, "Level", fields[5].Text, "id", fields[0].Text); dbManager.Update(entity, "Points", fields[6].Text, "id", fields[0].Text); dbManager.Update(entity, "Category", fields[7].Text, "id", fields[0].Text); break; } } } catch (Exception ex) { InfoForm iform = new InfoForm(ex.Message, Volume); iform.Show(); } break; } } }