示例#1
0
        public async Task <LabelManageModel> AddAsync(string user, long group, LabelAddModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var groupModel = await _groupService.GetByIdAsync(group);

            if (groupModel == null)
            {
                throw new KeyNotFoundException(group.ToString());
            }
            if (!groupModel.Users.Any(u => u.Id.Equals(user)))
            {
                throw new ForbidException();
            }

            var objToAdd = _mapper.Map <LabelModel>(model);

            objToAdd.GroupId = group;

            _unitOfWork.BeginTransaction();
            var objAdded = await _repository.AddAsync(objToAdd);

            var result = await _unitOfWork.CommitAsync();

            return(result > 0 ? _mapper.Map <LabelManageModel>(objAdded) : null);
        }
示例#2
0
        public async Task CreateAsync(Guid id, User user, string name)
        {
            var label = await _labelRepository.GetAsync(id, user.Id);

            if (label != null)
            {
                throw new ServiceException(ErrorCodes.LabelAlreadyExist);
            }

            label = new Label(id, user, name);

            await _labelRepository.AddAsync(label);
        }