/// <summary> /// Method to delete projects /// </summary> /// <param name="projectId">Project id to delete</param> public void DeleteProjectById(string projectId) { LogUtil.log.Info($"{System.Reflection.MethodBase.GetCurrentMethod()} => Delete project from rfmc_invoices_{clientName} database. Project_id = \"{projectId}\"."); using (PostgreSqlDbClient dbcMcInvoices = new PostgreSqlDbClient(connectionString, $"rfmc_invoices_{clientName}")) { dbcMcInvoices.ExecuteModifyQuery(GetQueryToDeleteProjectFromMCInvoices(projectId)); } LogUtil.log.Info($"{System.Reflection.MethodBase.GetCurrentMethod()} => Delete project from rfmc_validations_{clientName} database. Project_id = \"{projectId}\"."); using (PostgreSqlDbClient dbcMcValidations = new PostgreSqlDbClient(connectionString, $"rfmc_validations_{clientName}")) { dbcMcValidations.ExecuteModifyQuery(GetQueryToDeleteProjectFromMCValidations(projectId)); } LogUtil.log.Info($"{System.Reflection.MethodBase.GetCurrentMethod()} => Delete project from common_methodologyoutputs_{clientName} database. Project_id = \"{projectId}\"."); using (PostgreSqlDbClient dbcMcOutputs = new PostgreSqlDbClient(connectionString, $"common_methodologyoutputs_{clientName}")) { DataTable outputsRegistryTableContent = dbcMcOutputs.ExecuteSelectQuery(GetQueryToReceiveOutputTableName(projectId)); string outputsTableName = outputsRegistryTableContent.Rows.Cast <DataRow>().FirstOrDefault()?["output_table_name"].ToString(); if (outputsTableName != null) { var t = dbcMcOutputs.ExecuteModifyQuery(GetQueryToDropOutputsTable(outputsTableName)); } } }
public void Returns_Valid_Delete_Query_With_Version() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0Property = Substitute.ForPartsOf <PropertyInfo>(); c0Property.Name.Returns(c0Alias); var c0 = new Column(table, c0Name, c0Property); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1Property = Substitute.ForPartsOf <PropertyInfo>(); c1Property.Name.Returns(c1Alias); var c1 = new Column(table, c1Name, c1Property); var client = new PostgreSqlDbClient(); var id = Rnd.Lng; var expected = $"DELETE FROM {schema}.{name} WHERE {c0Name} = {id} AND {c1Name} = @{c1Alias};"; // Act var result = client.GetDeleteQueryTest(table, c0, id, c1); // Assert Assert.Equal(expected, result); }
public void Returns_Valid_Insert_Query() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0Property = Substitute.ForPartsOf <PropertyInfo>(); c0Property.Name.Returns(c0Alias); c0Property.Configure().CustomAttributes.Returns(Array.Empty <CustomAttributeData>()); var c0 = new Column(table, c0Name, c0Property); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1Property = Substitute.ForPartsOf <PropertyInfo>(); c1Property.Name.Returns(c1Alias); c1Property.Configure().CustomAttributes.Returns(Array.Empty <CustomAttributeData>()); var c1 = new Column(table, c1Name, c1Property); var list = new ColumnList(new[] { c0, c1 }); var client = new PostgreSqlDbClient(); var expected = $"INSERT INTO {schema}.{name} ({c0Name}, {c1Name}) VALUES (@{c0Alias}, @{c1Alias}); " + "SELECT LASTVAL();"; // Act var result = client.GetCreateQueryTest(table, list); // Assert Assert.Equal(expected, result); }
public static (PostgreSqlDbClient client, Vars v) Get() { var schema = Rnd.Str; var name = Rnd.Str; var tableName = new DbName(schema, name); var table = Substitute.For <ITable>(); table.GetName().Returns(tableName); var client = new PostgreSqlDbClient(); return(client, new(table, schema, name)); }
public void Returns_Valid_Update_Query_With_Version() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0PropertyInfo = Substitute.For <PropertyInfo>(); c0PropertyInfo.Name.Returns(c0Alias); var c0 = new Column(table, c0Name, c0PropertyInfo); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1PropertyInfo = Substitute.For <PropertyInfo>(); c1PropertyInfo.Name.Returns(c1Alias); var c1 = new Column(table, c1Name, c1PropertyInfo); var c2Name = Rnd.Str; var c2Alias = Rnd.Str; var c2Property = Substitute.ForPartsOf <PropertyInfo>(); c2Property.Name.Returns(c2Alias); var c2 = new Column(table, c2Name, c2Property); var c3Name = Rnd.Str; var c3Alias = Rnd.Str; var c3Property = Substitute.ForPartsOf <PropertyInfo>(); c3Property.Name.Returns(c3Alias); var c3 = new Column(table, c3Name, c3Property); var list = new ColumnList(new[] { c0, c1 }); var client = new PostgreSqlDbClient(); var id = Rnd.Lng; var expected = $"UPDATE {schema}.{name} SET" + $" {c0Name} = @{c0Alias}," + $" {c1Name} = @{c1Alias}," + $" {c3Name} = @{c3Alias} + 1" + $" WHERE {c2Name} = {id}" + $" AND {c3Name} = @{c3Alias};"; // Act var result = client.GetUpdateQueryTest(table, list, c2, id, c3); // Assert Assert.Equal(expected, result); }
public void Returns_Valid_Select_Query() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0 = new Column(table, c0Name, Helpers.CreateInfoFromAlias(c0Alias)); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1 = new Column(table, c1Name, Helpers.CreateInfoFromAlias(c1Alias)); var c2Name = Rnd.Str; var c2Alias = Rnd.Str; var c2Property = Substitute.ForPartsOf <PropertyInfo>(); c2Property.Name.Returns(c2Alias); var c2 = new Column(table, c2Name, c2Property); var list = new ColumnList(new[] { c0, c1 }); var client = new PostgreSqlDbClient(); var id = Rnd.Lng; var expected = "SELECT" + $" {c0Name} AS \"{c0Alias}\"," + $" {c1Name} AS \"{c1Alias}\"" + $" FROM {schema}.{name}" + $" WHERE {c2Name} = {id};"; // Act var result = client.GetRetrieveQueryTest(table, list, c2, id); // Assert Assert.Equal(expected, result); }