public static int Insert(int siteId, FieldInfo fieldInfo) { fieldInfo.Taxis = GetMaxTaxis(fieldInfo.FormId) + 1; var sqlString = $@"INSERT INTO {TableName} ( {nameof(FieldInfo.FormId)}, {nameof(FieldInfo.Taxis)}, {nameof(FieldInfo.Title)}, {nameof(FieldInfo.Description)}, {nameof(FieldInfo.PlaceHolder)}, {nameof(FieldInfo.FieldType)}, {nameof(FieldInfo.Validate)}, {nameof(FieldInfo.Settings)} ) VALUES ( @{nameof(FieldInfo.FormId)}, @{nameof(FieldInfo.Taxis)}, @{nameof(FieldInfo.Title)}, @{nameof(FieldInfo.Description)}, @{nameof(FieldInfo.PlaceHolder)}, @{nameof(FieldInfo.FieldType)}, @{nameof(FieldInfo.Validate)}, @{nameof(FieldInfo.Settings)} )"; var parameters = new [] { Context.DatabaseApi.GetParameter(nameof(FieldInfo.FormId), fieldInfo.FormId), Context.DatabaseApi.GetParameter(nameof(FieldInfo.Taxis), fieldInfo.Taxis), Context.DatabaseApi.GetParameter(nameof(FieldInfo.Title), fieldInfo.Title), Context.DatabaseApi.GetParameter(nameof(FieldInfo.Description), fieldInfo.Description), Context.DatabaseApi.GetParameter(nameof(FieldInfo.PlaceHolder), fieldInfo.PlaceHolder), Context.DatabaseApi.GetParameter(nameof(FieldInfo.FieldType), fieldInfo.FieldType), Context.DatabaseApi.GetParameter(nameof(FieldInfo.Validate), fieldInfo.Validate), Context.DatabaseApi.GetParameter(nameof(FieldInfo.Settings), fieldInfo.Settings) }; var id = Context.DatabaseApi.ExecuteNonQueryAndReturnId(TableName, nameof(FieldInfo.Id), Context.ConnectionString, sqlString, parameters); FieldItemDao.InsertItems(fieldInfo.FormId, id, fieldInfo.Items); var formInfo = FormManager.GetFormInfo(siteId, fieldInfo.FormId); var list = FormUtils.StringCollectionToStringList(formInfo.Additional.ListAttributeNames); list.Add(fieldInfo.Title); formInfo.Additional.ListAttributeNames = FormUtils.ObjectCollectionToString(list); FormDao.Update(formInfo); FieldManager.ClearCache(); return(id); }
public static void Delete(FormInfo formInfo, LogInfo logInfo) { var sqlString = $"DELETE FROM {TableName} WHERE {nameof(LogInfo.Id)} = {logInfo.Id}"; Context.DatabaseApi.ExecuteNonQuery(Context.ConnectionString, sqlString); if (logInfo.IsReplied) { formInfo.RepliedCount -= 1; } formInfo.TotalCount -= 1; FormDao.Update(formInfo); }
public static int Insert(FormInfo formInfo, LogInfo logInfo) { var sqlString = $@"INSERT INTO {TableName} ( {nameof(LogInfo.FormId)}, {nameof(LogInfo.AddDate)}, {nameof(LogInfo.IsReplied)}, {nameof(LogInfo.ReplyDate)}, {nameof(LogInfo.ReplyContent)}, {nameof(LogInfo.AttributeValues)} ) VALUES ( @{nameof(LogInfo.FormId)}, @{nameof(LogInfo.AddDate)}, @{nameof(LogInfo.IsReplied)}, @{nameof(LogInfo.ReplyDate)}, @{nameof(LogInfo.ReplyContent)}, @{nameof(LogInfo.AttributeValues)} )"; var parameters = new List <IDataParameter> { Context.DatabaseApi.GetParameter(nameof(logInfo.FormId), logInfo.FormId), Context.DatabaseApi.GetParameter(nameof(logInfo.AddDate), logInfo.AddDate), Context.DatabaseApi.GetParameter(nameof(logInfo.IsReplied), logInfo.IsReplied), Context.DatabaseApi.GetParameter(nameof(logInfo.ReplyDate), logInfo.ReplyDate), Context.DatabaseApi.GetParameter(nameof(logInfo.ReplyContent), logInfo.ReplyContent), Context.DatabaseApi.GetParameter(nameof(logInfo.AttributeValues), logInfo.ToString()) }; var logId = Context.DatabaseApi.ExecuteNonQueryAndReturnId(TableName, nameof(LogInfo.Id), Context.ConnectionString, sqlString, parameters.ToArray()); formInfo.TotalCount += 1; FormDao.Update(formInfo); return(logId); }
public static void Reply(FormInfo formInfo, LogInfo logInfo) { var sqlString = $@"UPDATE {TableName} SET {nameof(LogInfo.IsReplied)} = @{nameof(LogInfo.IsReplied)}, {nameof(LogInfo.ReplyDate)} = @{nameof(LogInfo.ReplyDate)}, {nameof(LogInfo.ReplyContent)} = @{nameof(LogInfo.ReplyContent)} WHERE Id = @Id"; var parameters = new List <IDataParameter> { Context.DatabaseApi.GetParameter(nameof(LogInfo.IsReplied), true), Context.DatabaseApi.GetParameter(nameof(LogInfo.ReplyDate), DateTime.Now), Context.DatabaseApi.GetParameter(nameof(LogInfo.ReplyContent), logInfo.ReplyContent), Context.DatabaseApi.GetParameter(nameof(LogInfo.Id), logInfo.Id) }; if (!logInfo.IsReplied) { formInfo.RepliedCount += 1; FormDao.Update(formInfo); } Context.DatabaseApi.ExecuteNonQuery(Context.ConnectionString, sqlString, parameters.ToArray()); }