public void UserCreationTest() { const string position = "General"; var needPosition = new PositionsApi(_conf).Get().Records.Find(x => x.Name == position); var user = new CreationUserModel { DisplayName = Guid.NewGuid().ToString(), BirthDate = new DateTime(1993, 09, 07).ToString("yyyy-MM-dd"), PositionId = needPosition.Id.ToString(), WorkPeriodStartDate = DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd") }; var responseModelUser = new UsersApi(_conf).PutUser(user); responseModelUser.ShouldSatisfyAllConditions( () => responseModelUser.IsSuccess.GetValueOrDefault().ShouldBeTrue(), () => responseModelUser.Errors.ShouldBeNull(), () => responseModelUser.Result.ShouldBeOfType(typeof(User)) ); new UsersApi(_conf).GetFilteredUsers(new RequestUsersModel()).Records.ShouldContain(x => x.DisplayName == user.DisplayName && x.Id == responseModelUser.Result.Id); }
public void UserDeletionTest() { const string position = "General"; var needPosition = new PositionsApi(_conf).Get().Records.Find(x => x.Name == position); var user = new CreationUserModel { DisplayName = Guid.NewGuid().ToString(), BirthDate = new DateTime(1993, 09, 07).ToString("yyyy-MM-dd"), PositionId = needPosition.Id.ToString(), WorkPeriodStartDate = DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd") }; var responseModelUser = new UsersApi(_conf).PutUser(user); new UsersApi(_conf).DeleteUser(responseModelUser.Result.Id); }
public void InvalidPositionTest() { var user = new CreationUserModel { DisplayName = Guid.NewGuid().ToString(), BirthDate = new DateTime(1993, 09, 07).ToString("yyyy-MM-dd"), PositionId = Guid.NewGuid().ToString(), WorkPeriodStartDate = DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd") }; var error = Should.Throw <ApiException>(() => new UsersApi(_conf).PutUser(user)); error.ShouldSatisfyAllConditions( () => error.ErrorCode.ShouldBe(400), () => error.Message.ShouldContain( "{\"isSuccess\":false,\"errors\":[\"Position not found\"],\"result\":null}" ) ); }
public async Task <ActionResult <ResponseModel <User> > > PutUser([FromBody] CreationUserModel request) { ResponseModel <User> result; var validator = new UserCreateValidator(); var validationResult = validator.Validate(request); if (!validationResult.IsValid) { result = new ResponseModel <User> { Errors = validationResult.Errors.Select(x => x.ErrorMessage).ToList(), IsSuccess = false, Result = null }; return(BadRequest(result)); } try { result = new ResponseModel <User> { Errors = null, IsSuccess = true, Result = await _userRepository.PutUser(request) }; } catch (ValidationException e) { Console.WriteLine(e); result = new ResponseModel <User> { Errors = new List <string> { e.Message }, IsSuccess = false, Result = null }; return(BadRequest(result)); } return(result); }
public async Task <User> PutUser(CreationUserModel user) { using (var context = ContextFactory.CreateDbContext(ConnectionString)) { var positionEntry = context.Set <Position>() .AsQueryable().FirstOrDefault(x => user.PositionId != null && x.Id == new Guid(user.PositionId)); if (positionEntry == null) { throw new ValidationException("Position not found"); } var createdUser = await context.Set <User>().AddAsync(new User { Position = positionEntry, BirthDate = user.GetBirthDateTime(), DisplayName = user.DisplayName, WorkPeriodStartDate = user.GetWorkPeriodStartDateTime() }); await context.SaveChangesAsync(); return(createdUser.Entity); } }
/// <summary> /// /// </summary> /// <exception cref="ApiClientProject.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="request"> (optional)</param> /// <returns>Task of ApiResponse (ResponseModelUser)</returns> public async System.Threading.Tasks.Task <ApiResponse <ResponseModelUser> > PutUserAsyncWithHttpInfo(CreationUserModel request = null) { var localVarPath = "/api/Users"; var localVarPathParams = new Dictionary <String, String>(); var localVarQueryParams = new List <KeyValuePair <String, String> >(); var localVarHeaderParams = new Dictionary <String, String>(Configuration.DefaultHeader); var localVarFormParams = new Dictionary <String, String>(); var localVarFileParams = new Dictionary <String, FileParameter>(); Object localVarPostBody = null; // to determine the Content-Type header String[] localVarHttpContentTypes = new String[] { "application/json-patch+json", "application/json", "text/json", "application/_*+json" }; String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes); // to determine the Accept header String[] localVarHttpHeaderAccepts = new String[] { "text/plain", "application/json", "text/json" }; String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts); if (localVarHttpHeaderAccept != null) { localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept); } if (request != null && request.GetType() != typeof(byte[])) { localVarPostBody = Configuration.ApiClient.Serialize(request); // http body (model) parameter } else { localVarPostBody = request; // byte array } // make the HTTP request IRestResponse localVarResponse = (IRestResponse)await Configuration.ApiClient.CallApiAsync(localVarPath, Method.PUT, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarPathParams, localVarHttpContentType); int localVarStatusCode = (int)localVarResponse.StatusCode; if (ExceptionFactory != null) { Exception exception = ExceptionFactory("PutUser", localVarResponse); if (exception != null) { throw exception; } } return(new ApiResponse <ResponseModelUser>(localVarStatusCode, localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()), (ResponseModelUser)Configuration.ApiClient.Deserialize(localVarResponse, typeof(ResponseModelUser)))); }
/// <summary> /// /// </summary> /// <exception cref="ApiClientProject.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="request"> (optional)</param> /// <returns>Task of ResponseModelUser</returns> public async System.Threading.Tasks.Task <ResponseModelUser> PutUserAsync(CreationUserModel request = null) { ApiResponse <ResponseModelUser> localVarResponse = await PutUserAsyncWithHttpInfo(request); return(localVarResponse.Data); }
/// <summary> /// /// </summary> /// <exception cref="ApiClientProject.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="request"> (optional)</param> /// <returns>ResponseModelUser</returns> public ResponseModelUser PutUser(CreationUserModel request = null) { ApiResponse <ResponseModelUser> localVarResponse = PutUserWithHttpInfo(request); return(localVarResponse.Data); }