示例#1
0
        //数据持久化
        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();
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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);
        }
示例#4
0
        public static void DelFileEmployee(int FileId)
        {
            Query q = FileEmployee.Query();

            q.AddWhere(FileEmployee.Columns.FileId, FileId);
            q.QueryType = QueryType.Delete;
            q.Execute();
        }
示例#5
0
 //从后台获取数据
 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;
 }
示例#6
0
        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();
        }
示例#7
0
        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);
        }
示例#9
0
 /// <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);
     }
 }
示例#10
0
        /// <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("删除失败,数据可能被删除");
            }
        }
示例#11
0
 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);
     }
 }
示例#12
0
 //数据持久化
 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();
     }
 }
示例#13
0
 //从后台获取数据
 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;
 }
示例#14
0
 /// <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);
     }
 }
示例#15
0
 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());
        }
示例#17
0
 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);
     }
 }