/// <summary> /// 移除自定义表单实例 /// </summary> /// <param name="keyValue"></param> /// <param name="contentEntity"></param> /// <returns></returns> public int RemoveEntity(string keyValue, Form_ModuleContentEntity contentEntity) { try { FormContentModel contentModel = contentEntity.F_FrmContent.ToObject <FormContentModel>(); if (contentModel.type == "1") { DataBaseLinkService dbService = new DataBaseLinkService(); string strSql = "DELETE FROM " + contentModel.dbTable + " WHERE " + contentModel.dbPkey + " = @" + contentModel.dbPkey; var parameter = new List <DbParameter>(); parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, keyValue)); dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray()); } return(this.BaseRepository().Delete <FormModuleInstanceEntity>(keyValue)); } catch (Exception) { throw; } }
/// <summary> /// 保存表单模块实例数据 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <param name="contentEntity"></param> /// <returns>主键值</returns> public string SaveEntity(string keyValue, FormModuleInstanceEntity entity, Form_ModuleContentEntity contentEntity) { try { string resKeyValue = ""; FormContentModel contentModel = contentEntity.F_FrmContent.ToObject <FormContentModel>(); switch (contentModel.type) { case "1": DataBaseLinkService dbService = new DataBaseLinkService(); string strSql = ""; var parameter = new List <DbParameter>(); List <FormInstanceModel> filedsData = entity.F_FrmInstanceJson.ToObject <List <FormInstanceModel> >(); if (string.IsNullOrEmpty(keyValue)) { string pkValue = Guid.NewGuid().ToString(); strSql = " INSERT INTO " + contentModel.dbTable + " ( " + contentModel.dbPkey; string sqlValue = "( @" + contentModel.dbPkey; parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, pkValue)); foreach (var item in filedsData) { if (!string.IsNullOrEmpty(item.value)) { strSql += "," + item.field; sqlValue += ",@" + item.field; parameter.Add(DbParameters.CreateDbParameter("@" + item.field, item.value)); } } strSql += " ) VALUES " + sqlValue + ")"; entity.Create(); entity.F_Id = pkValue; dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray()); this.BaseRepository().Insert(entity); resKeyValue = entity.F_Id; } else { strSql = " UPDATE " + contentModel.dbTable + " SET "; bool isFirst = true; foreach (var item in filedsData) { if (!string.IsNullOrEmpty(item.value)) { if (!isFirst) { strSql += ","; } strSql += item.field + "=@" + item.field; parameter.Add(DbParameters.CreateDbParameter("@" + item.field, item.value)); isFirst = false; } } strSql += " WHERE " + contentModel.dbPkey + "=@" + contentModel.dbPkey; parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, keyValue)); entity.Modify(keyValue); dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray()); this.BaseRepository().Update(entity); resKeyValue = entity.F_Id; } break; case "0": case "2": if (string.IsNullOrEmpty(keyValue)) //新增 { entity.Create(); this.BaseRepository().Insert(entity); } else //更新 { entity.Modify(keyValue); this.BaseRepository().Update(entity); } resKeyValue = entity.F_Id; break; } return(resKeyValue); } catch (Exception) { throw; } }