public async Task EditProject(ProjectContract contract, string userId) { var storageGroup = await GetGroup(contract.GroupId, userId); if (storageGroup.Projects.Any(p => p.Name == contract.Name && p.Id != contract.Id)) { throw new GroupsModelException(nameof(contract.Name)); } var storageProject = await _repository.GetProject(contract.Id); var modelProject = _projectModelMapper.Map(contract); var updatedProject = storageProject.Update(modelProject); await _repository.UpdateProject(updatedProject); }