/// <summary> /// Updates TaskRepeating in database. /// </summary> /// <param name="taskRepeating">times to edit</param> /// <param name="Id">Id of column to edit time in</param> /// <param name="TableName">Name of the table to edit time in</param> /// <param name="ColumnName">Name of the column to edit value in</param> public TaskRepeating TaskExtendDatabase(TaskRepeating taskRepeating, int Id, string TableName, string ColumnName) { TaskRepeating reference = taskRepeating; taskRepeating.ExecutionTimes.Sort(); for (int i = taskRepeating.ExecutionTimes.Count - 1; i >= 0; i--) { if (taskRepeating.ExecutionTimes[i] <= DateTime.Now) { while (taskRepeating.ExecutionTimes[i] <= DateTime.Now) { taskRepeating.ExecutionTimes[i] = taskRepeating.ExecutionTimes[i] + taskRepeating.Repeating; } if (taskRepeating.ExecutionTimes[i] >= taskRepeating.RepeatTill) { taskRepeating.ExecutionTimes.RemoveAt(i); } } } if (taskRepeating.ExecutionTimes.Count == 0) { mySql.AlterTable(new ChangeTable() { Id = Id, TableName = TableName, ColumnName = ColumnName, Value = DBNull.Value }); return(null); } else if (taskRepeating.Equals(reference)) { mySql.AlterTable(new ChangeTable() { Id = Id, TableName = TableName, ColumnName = ColumnName, Value = JsonSerializationUtility.Serialize(taskRepeating) }); } return(taskRepeating); }
public void AlterTable(PostAdmin postAdmin) { if (postAdmin.request is ChangeTableRequest) { if (this.Authorized(postAdmin.adminInfo)) { if (Permitted(postAdmin.adminInfo.UserName, new int[] { 3 })) { if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "Allowed" && ((ChangeTableRequest)postAdmin.request).changeTable.Value is bool) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "IdDaemon" && ((ChangeTableRequest)postAdmin.request).changeTable.Value is int) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "Enabled" && ((ChangeTableRequest)postAdmin.request).changeTable.Value is bool) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "Email" && ((ChangeTableRequest)postAdmin.request).changeTable.Value is string) { mySqlCom.AlterTable(new ChangeTable() { ColumnName = "RecievingEmail", Id = (int)mySqlCom.GetAdminId(postAdmin.adminInfo.UserName), TableName = "tbEmailPreferences", Value = ((ChangeTableRequest)postAdmin.request).changeTable.Value }, "IdAdmin"); mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "Username" && !mySqlCom.Exists(new ExistsRequest() { Column = ((ChangeTableRequest)postAdmin.request).changeTable.ColumnName, TableName = ((ChangeTableRequest)postAdmin.request).changeTable.TableName, Value = ((ChangeTableRequest)postAdmin.request).changeTable.Value })) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "TimerTick" && (((ChangeTableRequest)postAdmin.request).changeTable.Value is long) || ((ChangeTableRequest)postAdmin.request).changeTable.Value is int) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "TimerOnStart" && (((ChangeTableRequest)postAdmin.request).changeTable.Value is long) || ((ChangeTableRequest)postAdmin.request).changeTable.Value is int) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else if (((ChangeTableRequest)postAdmin.request).changeTable.ColumnName == "TimerAfterFail" && (((ChangeTableRequest)postAdmin.request).changeTable.Value is long) || ((ChangeTableRequest)postAdmin.request).changeTable.Value is int) { mySqlCom.AlterTable(((ChangeTableRequest)postAdmin.request).changeTable); } else { throw new HttpResponseException(HttpStatusCode.BadRequest); } } else { throw new HttpResponseException(HttpStatusCode.Forbidden); } } else { throw new HttpResponseException(HttpStatusCode.Unauthorized); } } else { throw new HttpResponseException(HttpStatusCode.BadRequest); } }