public async Task <Result <ActivityTypeModel, Error> > Add(CreateActivityTypeModel model) { var activityTypeExists = (await _activityTypesRepository.GetByName(model.Name)) != null; if (activityTypeExists) { return(Result.Failure <ActivityTypeModel, Error>(ErrorsList.ActivityTypeExists)); } var userId = Guid.Parse(_accessor.HttpContext.User.Claims.First(c => c.Type == "userId").Value); var user = await _userRepository.GetById(userId); var userType = await _userTypeRepository.GetByName("Admin"); if (user.UserTypeId != userType.Id) { return(Result.Failure <ActivityTypeModel, Error>(ErrorsList.UnauthorizedUser)); } var activityType = _mapper.Map <ActivityType>(model); await _activityTypesRepository.Add(activityType); await _activityTypesRepository.SaveChanges(); return(_mapper.Map <ActivityTypeModel>(activityType)); }
public async Task <IActionResult> Add([FromBody] CreateActivityTypeModel model) { var(_, isFailure, value, error) = await _activityTypesService.Add(model); if (isFailure) { return(BadRequest(error)); } return(Created(value.Id.ToString(), value)); }
public async Task PostInvalidActivityTypeTest() { var activityTypeModel = new CreateActivityTypeModel() { Name = "activitate test" }; var response = await HttpClient.PostAsJsonAsync($"api/v1/activities/types", activityTypeModel); var secondResponse = await HttpClient.PostAsJsonAsync($"api/v1/activities/types", activityTypeModel); response.IsSuccessStatusCode.Should().BeTrue(); secondResponse.IsSuccessStatusCode.Should().BeFalse(); }
public async Task PostActivityTypeTest() { var activityTypeModel = new CreateActivityTypeModel() { Name = "activitate test" }; var response = await HttpClient.PostAsJsonAsync($"api/v1/activities/types", activityTypeModel); response.IsSuccessStatusCode.Should().BeTrue(); var activityTypeId = new Guid(response.Headers.Location.OriginalString); ActivityType activityTypeEntity = null; await ExecuteDatabaseAction(async (doFestContext) => { activityTypeEntity = await doFestContext .ActivityTypes .FirstOrDefaultAsync(entity => entity.Id == activityTypeId); await doFestContext.SaveChangesAsync(); }); activityTypeEntity.Should().NotBeNull(); }