public async Task <IResultModel> Update(OrganizeUpdateModel model)
        {
            var entity = await _organizeRepository.FirstAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.NotExists);
            }

            _mapper.Map(model, entity);

            if (await _organizeRepository.ExistsAsync(m => (m.OrganizeCode == model.OrganizeCode || m.OrganizeName == model.OrganizeName) && m.Id != entity.Id && m.IsDel == false))
            {
                return(ResultModel.HasExists);
            }

            if (entity.ParentId == Guid.Empty.ToString("N"))
            {
                entity.OrganizeFullName = $"{entity.OrganizeName}";
            }
            else
            {
                var parent = await _organizeRepository.FirstAsync(m => m.Id == entity.ParentId);

                if (parent != null)
                {
                    entity.Level            = parent.Level + 1;
                    entity.OrganizeFullName = $"{parent.OrganizeFullName}/{entity.OrganizeName}";
                }
            }

            var result = await _organizeRepository.UpdateAsync(entity);

            if (result)
            {
                return(ResultModel.Success(entity));
            }

            return(ResultModel.Failed());
        }
Beispiel #2
0
 public Task <IResultModel> Update(OrganizeUpdateModel model)
 {
     return(_service.Update(model));
 }