Esempio n. 1
0
        public async Task <FuncResult> AddOrUpdateArea(AreaRouteModel model, int currentUserId)
        {
            if (string.IsNullOrWhiteSpace(model.AreaPath))
            {
                return(new FuncResult()
                {
                    IsSuccess = false, Message = "Area路径不能为空"
                });
            }

            if (!Regex.Match(model.AreaPath, @"^[a-zA-Z0-9]+$").Success)
            {
                return(new FuncResult()
                {
                    IsSuccess = false, Message = "AreaPath只能输入字母、数字"
                });
            }

            if (_context.SysAreaRoutes.Where(e => e.Id != model.Id).Select(e => e.AreaPath.ToLower()).Contains(model.AreaPath))
            {
                return(new FuncResult()
                {
                    IsSuccess = false, Message = "路径重复"
                });
            }
            if (_context.SysAreaRoutes.Where(e => e.Id != model.Id).Select(e => e.AreaAlias.ToLower()).Contains(model.AreaAlias))
            {
                return(new FuncResult()
                {
                    IsSuccess = false, Message = "别名重复"
                });
            }

            SysAreaRoute entity = new SysAreaRoute();

            if (!string.IsNullOrWhiteSpace(model.Id))
            {
                entity = await _context.SysAreaRoutes.FindAsync(model.Id);

                if (entity == null)
                {
                    return(new FuncResult()
                    {
                        IsSuccess = false, Message = "id错误"
                    });
                }
                entity.AreaAlias        = model.AreaAlias;
                entity.AreaPath         = model.AreaPath;
                entity.Last_Updated_By  = currentUserId;
                entity.Last_Update_Date = DateTime.Now;
                _context.SysAreaRoutes.Update(entity);
                await _context.SaveChangesAsync();

                return(new FuncResult()
                {
                    IsSuccess = true, Content = entity, Message = "编辑成功"
                });
            }

            entity.Id        = Guid.NewGuid().ToString("N");
            entity.AreaAlias = model.AreaAlias;
            entity.AreaPath  = model.AreaPath;

            entity.Last_Updated_By  = currentUserId;
            entity.Last_Update_Date = DateTime.Now;
            entity.Created_By       = currentUserId;
            entity.Creation_Date    = DateTime.Now;

            await _context.SysAreaRoutes.AddAsync(entity);

            await _context.SaveChangesAsync();

            return(new FuncResult()
            {
                IsSuccess = true, Content = entity, Message = "添加成功"
            });
        }
 public async Task <FuncResult> AddOrUpdateArea([FromBody] AreaRouteModel model)
 {
     return(await sysRouteBLL.AddOrUpdateArea(model, CurrentUser.Get().Id));
 }