public CompleteWorkoutController(IMemberIdProvider memberIdProvider, IMemberService memberService, IMapper mapper, IPendingWorkoutService pendingWorkoutService, IModelViewFactory modelViewFactory, IDataModelFactory dataModelFactory) { this.memberIdProvider = memberIdProvider ?? throw new ArgumentException("MemberIdProvider cannot be null"); this.memberService = memberService ?? throw new ArgumentException("memberService cannot be null"); this.mapper = mapper ?? throw new ArgumentException("mapper cannot be null"); this.pendingWorkoutService = pendingWorkoutService ?? throw new ArgumentException("pendingWorkoutService cannot be null"); this.modelViewFactory = modelViewFactory ?? throw new ArgumentException("modelViewFactory cannot be null"); this.dataModelFactory = dataModelFactory ?? throw new ArgumentException("dataModelFactory cannot be null"); }
// public void CreateTableIfNotExists<T>(DataModelFactory<T> dataModelFactory) where T : DataModel public void CreateTableIfNotExists(IDataModelFactory dataModelFactory) { var sbQuery = new StringBuilder(); var sbQueryFKCode = new StringBuilder(); sbQuery.AppendLine($"CREATE TABLE IF NOT EXISTS {dataModelFactory.TableName}("); sbQuery.AppendLine(dataModelFactory.Get_PrimaryKeyProperties().GetColumnCodeForCreateTable()); for (int i = 0; i < dataModelFactory.DataModelColumnProperties.Count; i++) { var dmc = dataModelFactory.DataModelColumnProperties[i]; if (!dmc.IsPrimaryKey) { sbQuery.Append($", {dmc.GetColumnCodeForCreateTable()}"); } } //CONTINUE FROM HERE /* * // var foreignKeys = dataModelFactory.DataModelColumnProperties.Where(dmc => !string.IsNullOrEmpty(dmc.ForeignTableName)).ToList(); * var foreignKeys = dataModelFactory.DataModelColumnProperties.Where(dmc => dmc.IsForeignKey()).ToList(); * for (int i = 0; i < foreignKeys.Count; i++) * { * sbQuery.AppendLine(foreignKeys[i].GetForeignKeyCodeForCreateTable()); * } */ for (int i = 0; i < dataModelFactory.DataModelForeignKeyProperties.Count; i++) { sbQuery.Append($", {dataModelFactory.DataModelForeignKeyProperties[i].GetCreateForeignKeyColumnCode()}"); sbQueryFKCode.Append($"{dataModelFactory.DataModelForeignKeyProperties[i].GetForeignKeyCodeForCreateTable()}"); } sbQuery.AppendLine(sbQueryFKCode.ToString()); sbQuery.Append(")"); var query = sbQuery.ToString(); try { using (var dbConnection = new SqliteConnection(Connection)) { dbConnection.Open(); using (var dbCmd = dbConnection.CreateCommand()) { dbCmd.CommandText = query; dbCmd.ExecuteScalar(); } dbConnection.Close(); } } catch (Exception ex) { LogSQLQueryErrorInDebugMode(query, ex); } }
public HistoricDataGrabTask(ILogger logger, IContainer container, IDataArgs dataArgs) { _logger = logger; _container = container; _dataArgs = dataArgs; _securityDataRetriever = _container.Resolve <ISecurityDataRetriever>(); _persistenceManager = _container.Resolve <IPersistenceManager>(); _dataModelFactory = _container.Resolve <IDataModelFactory>(); _logger.Information("HistoricDataGrabTask: Instantiation successful."); }
public DataModelColumnProperties(string columnName, bool isUnique = false, bool isPrimaryKey = false, bool isNullable = true, IDataModelFactory foreignTable = null, bool isAutoIncrement = false, object defaultValue = null) { this.ColumnName = columnName; this.ColumnType = TypeMap[typeof(T)]; this.IsUnique = isUnique; this.IsPrimaryKey = isPrimaryKey; this.IsNullable = isNullable; this.IsAutoIncrement = isAutoIncrement; // this.ForeignTableName = foreignTableName; this.ForeignTable = foreignTable; this.DefaultValue = defaultValue; }
public WorkoutController(IMapper mapper, IWorkoutInformationService workoutInformationService, IWeekScheduleService weekScheduleService, IDatetimeProvider datetimeProvider, IDailyWorkoutService dailyWorkoutService, IMemberIdProvider memberIdProvider, IMemberService memberService, IWorkoutService workoutService, IModelViewFactory modelViewFactory, IDataModelFactory dataModelFactory) { this.mapper = mapper ?? throw new ArgumentException("Mapper cannot be null"); this.workoutInformationService = workoutInformationService ?? throw new ArgumentException("workoutInformationService cannot be null"); this.weekScheduleService = weekScheduleService ?? throw new ArgumentException("weekScheduleService cannot be null"); this.datetimeProvider = datetimeProvider ?? throw new ArgumentException("datetimeProvider cannot be null"); this.dailyWorkoutService = dailyWorkoutService ?? throw new ArgumentException("dailyWorkoutService cannot be null"); this.memberIdProvider = memberIdProvider ?? throw new ArgumentException("memberIdProvider cannot be null"); this.memberService = memberService ?? throw new ArgumentException("memberService cannot be null"); this.workoutService = workoutService ?? throw new ArgumentException("workoutService cannot be null"); this.modelViewFactory = modelViewFactory ?? throw new ArgumentException("modelViewFactory cannot be null"); this.dataModelFactory = dataModelFactory ?? throw new ArgumentException("dataModelFactory cannot be null"); }
public DataModeForeignKey(IDataModelFactory foreignDataModelFactory, bool performJoin, IDataModelForeignKey parentForeignKeyProperties = null, string columnName = "") { if (string.IsNullOrEmpty(columnName)) { ColumnName = $"{foreignDataModelFactory.TableName}_FK"; } else { ColumnName = columnName; } ForeignDataModelFactory = foreignDataModelFactory; ParentForeignKeyProperties = parentForeignKeyProperties; PerformJoin = performJoin; }
// public void AddColumnToTable<T>(string columnName, DataModelFactory<T> dataModelFactory, DataModel dataModel) where T : DataModel public bool AddColumnToTable(string columnName, IDataModelFactory dataModelFactory) { var sbQuery = new StringBuilder(); var columnToAdd = dataModelFactory.DataModelColumnProperties.First(c => c.ColumnName == columnName); if (columnToAdd != null) { sbQuery.AppendLine(string.Format("alter table {0} add column {1}", dataModelFactory.TableName, columnToAdd.GetColumnCodeForCreateTable())); } else { //CONTINUE FROM HERE //var fkToAdd = dataModelFactory..DataModelColumnProperties.First(c => c.ColumnName == columnName); } // if (dataModel.IsForeignKey) /* * if (columnToAdd.IsForeignKey()) * { * sbQuery.AppendLine(columnToAdd.GetForeignKeyCodeForCreateTable()); * sbQuery.AppendLine("GO"); * } */ var query = sbQuery.ToString(); try { using (var dbConnection = new SqliteConnection(Connection)) { dbConnection.Open(); using (var dbCmd = dbConnection.CreateCommand()) { dbCmd.CommandText = query; dbCmd.ExecuteScalar(); } dbConnection.Close(); } } catch (Exception ex) { LogSQLQueryErrorInDebugMode(query, ex); } return(true); }
// public void DropTable<T>(DataModelFactory<T> dataModel) where T : DataModel public void DropTable(IDataModelFactory dataModel) { DropTable(dataModel.TableName); }