//数据持久化 internal static void SaveToDb(FileEmployeeInfo pFileEmployeeInfo, FileEmployee pFileEmployee, bool pIsNew) { pFileEmployee.FileEmployeeId = pFileEmployeeInfo.fileEmployeeId; pFileEmployee.FileId = pFileEmployeeInfo.fileId; pFileEmployee.EmployeeId = pFileEmployeeInfo.employeeId; pFileEmployee.IsMsg = pFileEmployeeInfo.isMsg; pFileEmployee.IsDelete = pFileEmployeeInfo.isDelete; pFileEmployee.IsNew = pIsNew; string UserName = SubsonicHelper.GetUserName(); try { pFileEmployee.Save(UserName); } catch (Exception ex) { LogManager.getInstance().getLogger(typeof(FileEmployeeInfo)).Error(ex); if (ex.Message.Contains("插入重复键")) //违反了唯一键 { throw new AppException("此对象已经存在"); //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示 } throw new AppException("保存失败"); } pFileEmployeeInfo.fileEmployeeId = pFileEmployee.FileEmployeeId; //如果缓存存在,更新缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(FileEmployeeInfo))) { ResetCache(); } }
/// <summary> /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据 /// </summary> /// <param name="pPageIndex">页数</param> /// <param name="pPageSize">每页列表</param> /// <param name="pOrderBy">排序</param> /// <param name="pSortExpression">排序字段</param> /// <param name="pRecordCount">列表行数</param> /// <returns>数据分页</returns> public static List <FileEmployeeInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount) { if (pPageIndex <= 1) { pPageIndex = 1; } List <FileEmployeeInfo> list = new List <FileEmployeeInfo>(); Query q = FileEmployee.CreateQuery(); q.PageIndex = pPageIndex; q.PageSize = pPageSize; q.ORDER_BY(pSortExpression, pOrderBy.ToString()); FileEmployeeCollection collection = new FileEmployeeCollection(); collection.LoadAndCloseReader(q.ExecuteReader()); foreach (FileEmployee fileEmployee in collection) { FileEmployeeInfo fileEmployeeInfo = new FileEmployeeInfo(); LoadFromDAL(fileEmployeeInfo, fileEmployee); list.Add(fileEmployeeInfo); } pRecordCount = q.GetRecordCount(); return(list); }
private List <FileEmployee> ParseUsers(string fileContent) { var result = new List <FileEmployee>(); var lines = fileContent.Split('\n'); foreach (var line in lines) { var params_ = line.Split(';'); if (params_[0].Trim() == "Id") { continue; } if (params_[0].Length == 0) { break; } var user = new FileEmployee() { Index = Int32.Parse(params_[0]), FirstName = params_[1], LastName = params_[2], EmployeeId = params_[3] }; user.EmployeeId = user.EmployeeId .Replace("\r\n", "") .Replace("\r", "") .Replace("\n", ""); result.Add(user); } return(result); }
public static void DelFileEmployee(int FileId) { Query q = FileEmployee.Query(); q.AddWhere(FileEmployee.Columns.FileId, FileId); q.QueryType = QueryType.Delete; q.Execute(); }
//从后台获取数据 internal static void LoadFromDAL(FileEmployeeInfo pFileEmployeeInfo, FileEmployee pFileEmployee) { pFileEmployeeInfo.fileEmployeeId = pFileEmployee.FileEmployeeId; pFileEmployeeInfo.fileId = pFileEmployee.FileId; pFileEmployeeInfo.employeeId = pFileEmployee.EmployeeId; pFileEmployeeInfo.isMsg = pFileEmployee.IsMsg; pFileEmployeeInfo.isDelete = pFileEmployee.IsDelete; pFileEmployeeInfo.Loaded = true; }
public static void UpdateDocument(int FileId, int EmId) { Query q = FileEmployee.Query(); q.AddWhere(FileEmployee.Columns.FileId, FileId); q.AddWhere(FileEmployee.Columns.EmployeeId, EmId); q.QueryType = QueryType.Update; q.AddUpdateSetting(FileEmployee.Columns.IsMsg, "1"); q.Execute(); }
public void AddEmployee(FileEmployee fileEmployees) { var dbIds = _context.Employees .Select(e => e.EmployeeId) .ToList(); if (!dbIds.Contains(fileEmployees.EmployeeId)) { _context.Employees .Add(Employee.FromFileEmployee(_mapper, fileEmployees)); } _context.SaveChanges(); }
[HttpGet("/employees")] //localhost:123/employees public ActionResult <List <FileEmployee> > GetFileEmployees() { var employees = _dbService.GetAllEmployees(); var result = new List <FileEmployee>(); _mapper = new MapperConfiguration(cfg => cfg.CreateMap <Employee, FileEmployee>()).CreateMapper(); foreach (var employee in employees) { result.Add(FileEmployee.FromEmployee(_mapper, employee)); } return(result); }
/// <summary> /// 保存 /// </summary> public override void Save() { if (!m_Loaded) //新增 { FileEmployee fileEmployee = new FileEmployee(); SaveToDb(this, fileEmployee, true); } else //修改 { FileEmployee fileEmployee = new FileEmployee(fileEmployeeId); if (fileEmployee.IsNew) { throw new AppException("该数据已经不存在了"); } SaveToDb(this, fileEmployee, false); } }
/// <summary> /// 删除 /// </summary> /// <returns>是否成功</returns> public override void Delete() { if (!m_Loaded) { throw new AppException("尚未初始化"); } bool result = (FileEmployee.Delete(FileEmployeeId) == 1); //更新缓存 if (result && CachedEntityCommander.IsTypeRegistered(typeof(FileEmployeeInfo))) { ResetCache(); } if (!result) { throw new AppException("删除失败,数据可能被删除"); } }
private void LoadFromId(int fileEmployeeId) { if (CachedEntityCommander.IsTypeRegistered(typeof(FileEmployeeInfo))) { FileEmployeeInfo fileEmployeeInfo = Find(GetList(), fileEmployeeId); if (fileEmployeeInfo == null) { throw new AppException("未能在缓存中找到相应的键值对象"); } Copy(fileEmployeeInfo, this); } else { FileEmployee fileEmployee = new FileEmployee(fileEmployeeId); if (fileEmployee.IsNew) { throw new AppException("尚未初始化"); } LoadFromDAL(this, fileEmployee); } }
//数据持久化 internal static void SaveToDb(FileEmployeeInfo pFileEmployeeInfo, FileEmployee pFileEmployee,bool pIsNew) { pFileEmployee.FileEmployeeId = pFileEmployeeInfo.fileEmployeeId; pFileEmployee.FileId = pFileEmployeeInfo.fileId; pFileEmployee.EmployeeId = pFileEmployeeInfo.employeeId; pFileEmployee.IsMsg = pFileEmployeeInfo.isMsg; pFileEmployee.IsDelete = pFileEmployeeInfo.isDelete; pFileEmployee.IsNew=pIsNew; string UserName = SubsonicHelper.GetUserName(); try { pFileEmployee.Save(UserName); } catch(Exception ex) { LogManager.getInstance().getLogger(typeof(FileEmployeeInfo)).Error(ex); if(ex.Message.Contains("插入重复键"))//违反了唯一键 { throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示 } throw new AppException("保存失败"); } pFileEmployeeInfo.fileEmployeeId = pFileEmployee.FileEmployeeId; //如果缓存存在,更新缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(FileEmployeeInfo))) { ResetCache(); } }
//从后台获取数据 internal static void LoadFromDAL(FileEmployeeInfo pFileEmployeeInfo, FileEmployee pFileEmployee) { pFileEmployeeInfo.fileEmployeeId = pFileEmployee.FileEmployeeId; pFileEmployeeInfo.fileId = pFileEmployee.FileId; pFileEmployeeInfo.employeeId = pFileEmployee.EmployeeId; pFileEmployeeInfo.isMsg = pFileEmployee.IsMsg; pFileEmployeeInfo.isDelete = pFileEmployee.IsDelete; pFileEmployeeInfo.Loaded=true; }
/// <summary> /// 保存 /// </summary> public override void Save() { if(!m_Loaded)//新增 { FileEmployee fileEmployee=new FileEmployee(); SaveToDb(this, fileEmployee,true); } else//修改 { FileEmployee fileEmployee=new FileEmployee(fileEmployeeId); if(fileEmployee.IsNew) throw new AppException("该数据已经不存在了"); SaveToDb(this, fileEmployee,false); } }
public static Employee FromFileEmployee(IMapper mapper, FileEmployee fEmployee) { return(mapper.Map <FileEmployee, Employee>(fEmployee)); }
[HttpPost("/employee")] //localhost:123/employee public ActionResult AddEmployee([FromBody] FileEmployee employee) { _dbService.AddEmployee(employee); return(new EmptyResult()); }
private void LoadFromId(int fileEmployeeId) { if (CachedEntityCommander.IsTypeRegistered(typeof(FileEmployeeInfo))) { FileEmployeeInfo fileEmployeeInfo=Find(GetList(), fileEmployeeId); if(fileEmployeeInfo==null) throw new AppException("未能在缓存中找到相应的键值对象"); Copy(fileEmployeeInfo, this); } else { FileEmployee fileEmployee=new FileEmployee( fileEmployeeId); if(fileEmployee.IsNew) throw new AppException("尚未初始化"); LoadFromDAL(this, fileEmployee); } }