Beispiel #1
0
        /// <summary>
        /// 新增数据
        /// </summary>
        public OperateLogOutputDto WriteOperateLog(string LayerID, string userCode, int systemFunc, int operateType, int result, int resultDescribe, string LayerName)
        {
            string name = string.Empty;

            if (!string.IsNullOrEmpty(userCode) && userCode.ToUpper() == ConstHelper.CONST_SYSTEMNAME)
            {
                name = ConstHelper.CONST_SYSTEMNAME;
            }
            else
            {
                //List<SystemUserEntity> queryUser = await _ISystemUserRepository.GetAllListAsync(s => s.UserCode.Equals(userCode));
                List <SystemUserEntity> queryUser = _ISystemUserRepository.GetAllList(s => s.UserCode.Equals(userCode));
                if (queryUser.Count > 0)
                {
                    name = queryUser[0].UserName;
                }
            }

            // 打开Translate.xml文件获取翻译结果
            XElement xElement   = XElement.Load(ConfigHelper.TranslateFilePath);
            XElement OperateLog = xElement.Descendants("Class").FirstOrDefault(s => s.Attribute("name").Value.Equals("OperateLog"));
            List <TranslateOutput> listTranslate = new List <TranslateOutput>();

            OperateLog.Descendants("word").ToList().ForEach(s =>
            {
                listTranslate.Add(GetTranslateOutput(s));
            });
            bool bIsEnglish = ConfigHelper.IsEnglish == "1" ? true : false;


            OperateLogEntity entity = new OperateLogEntity
            {
                Id             = System.Guid.NewGuid().ToString(),
                LayerID        = LayerID,
                OperateTime    = DateTime.Now,
                UserName       = name,
                UserCode       = userCode,
                SystemFunc     = GetTranslate(systemFunc, bIsEnglish, listTranslate),
                OperateType    = GetTranslate(operateType, bIsEnglish, listTranslate),
                Result         = GetTranslate(result, bIsEnglish, listTranslate),
                ResultDescribe = GetTranslate(resultDescribe, bIsEnglish, listTranslate) + LayerName
            };

            var db = (InfoEarthFrameDbContext)_IOperateLogRepository.GetDbContext();

            db.OperateLog.Add(entity);
            db.SaveChanges();

            return(entity.MapTo <OperateLogOutputDto>());
        }