using Newtonsoft.Json; using NFine.Code; using NFine.Domain._03_Entity.SystemManage; using NFine.Domain.Entity.SystemManage; using NFine.Domain.IRepository.SystemManage; using NFine.Repository; using NFine.Repository.SystemManage; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace NFine.Application.SystemManage { public class ModuleApp : RepositoryFactory { private IModuleRepository service = new ModuleRepository(); public List GetList() { return service.IQueryable().Where(a => a.systems == "WMS").OrderBy(t => t.F_SortCode).ToList(); } public List GetListALL() { return service.IQueryable().Where(a => a.systems == "WMS" || a.systems == "SRM").OrderBy(t => t.F_SortCode).ToList(); } public ModuleEntity GetForm(string keyValue) { return service.FindEntity(keyValue); } public void DeleteForm(string keyValue) { if (service.IQueryable().Count(t => t.F_ParentId.Equals(keyValue)) > 0) { throw new Exception("删除失败!操作的对象包含了下级数据。"); } else { service.Delete(t => t.F_Id == keyValue); } } public void SubmitForm(ModuleEntity moduleEntity, string keyValue) { if (!string.IsNullOrEmpty(keyValue)) { moduleEntity.Modify(keyValue); service.Update(moduleEntity); } else { moduleEntity.systems = "WMS"; moduleEntity.Create(); service.Insert(moduleEntity); } } public DataTable GetCondition(string SourceID) { string sql = @" SELECT con.ID IDStr, '0' IsNew, CSortSeq 排序,CCaption 条件名称,CFiledName 字段名称,CIndex 替代符号 ,CValueBegin 默认值,CValueEnd 默认值2,CValueBegin 起始值,CValueEnd 结束值,CDataType AS 数据类型,CDataType AS 数据类型Data from Sys_FormDataAction con where con.SourceID='" + SourceID + @"' order by CSortSeq"; return Repository().FindTableBySql(sql); } public void SetDataAction(string SourceID, string List_Condition) { OperatorModel oo = NFine.Code.OperatorProvider.Provider.GetCurrent(); if (!string.IsNullOrEmpty(List_Condition) && List_Condition != "[]") { DataActionClass[] list = JsonConvert.DeserializeObject(List_Condition); if (list != null) { string sql = ""; string sqldel = ""; string sqldel2 = ""; string sqlinsert = ""; string sqlupdate = ""; //@" delete from Sys_FormFilterCondition where SourceID='" + SourceID + @"' "; foreach (DataActionClass item in list) { if (item.ID == "")//insert { sqlinsert += @" INSERT INTO [Sys_FormDataAction] ([ID],[SourceID],[CSortSeq],[CCaption],[CFiledName], [CIndex],[CLogString],[CValueBegin],[CValueEnd],[CDataType]) select newid(),'" + SourceID + "','" + item.CSortSeq + "','" + item.CCaption + "','" + item.CFiledName + @"' ,'" + item.CIndex + @"','" + item.CLogString + @"' ,'" + item.CValueBegin + "','" + item.CValueEnd + "','" + item.CDataType + "' "; } else//update { sqlupdate += @" update [Sys_FormDataAction] set [CSortSeq]=" + item.CSortSeq + @", [CCaption]='" + item.CCaption + @"', [CFiledName]='" + ReSetStringTosql(item.CFiledName) + @"', [CIndex]='" + item.CIndex + @"', [CLogString]='" + item.CLogString + @"', [CValueBegin]='" + item.CValueBegin + @"', [CValueEnd]='" + item.CValueEnd + @"', [CDataType]='" + item.CDataType + @"' where id = '" + item.ID + "' and SourceID = '" + SourceID + @"' "; sqldel += " and ID!='" + item.ID + "' "; } } sql = @" delete from Sys_FormDataAction where SourceID = '" + SourceID + @"' " + sqldel + sqlupdate + sqlinsert; StringBuilder sqlb = new StringBuilder(sql); Repository().ExecuteBySql(sqlb); } } else { string sql = @" delete from Sys_FormDataAction where SourceID='" + SourceID + @"'"; StringBuilder sqlb = new StringBuilder(sql); Repository().ExecuteBySql(sqlb); } } private string ReSetStringTosql(string sql) { sql = sql.Replace("'", "''"); sql = sql.Replace("\r", "\r "); sql = sql.Replace("\r\n", "\r\n "); sql = sql.Replace("\n", "\n "); return sql; } } }