private static SqlParameter[] getParameters(Table tableName, long ogrn, ValueWithDate otherValue) { var parameters = new List <SqlParameter>(); parameters.Add(new SqlParameter("OGRN", ogrn)); if (tableName == Table.OtherNames) { parameters.Add(new SqlParameter("Name", otherValue.Value)); if (otherValue.AddedDate != default(DateTime)) { parameters.Add(new SqlParameter("AddedDate", otherValue.AddedDate)); } } else if (tableName == Table.OtherAddresses) { parameters.Add(new SqlParameter("Address", otherValue.Value)); if (otherValue.AddedDate != default(DateTime)) { parameters.Add(new SqlParameter("AddedDate", otherValue.AddedDate)); } } return(parameters.ToArray()); }
private static void insertInTable(SqlConnection connection, CompanyInfo companyInfo, Table tablename, ValueWithDate otherValue = null) { try { SqlParameter[] parameters; if (otherValue == null) { parameters = getParameters(companyInfo); } else { parameters = getParameters(tablename, companyInfo.OGRN, otherValue); } string query = getQuery(tablename, parameters); var command = new SqlCommand(query, connection); command.Parameters.AddRange(parameters); command.ExecuteNonQuery(); } catch (Exception ex) { if (ex.Message.Contains("Cannot insert duplicate key")) { string message = ex.Message.Split('.')[3].Trim() + "."; Console.WriteLine(message); } else { throw; } } }