Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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());
        }