internal async Task <HttpResponseMessage> CreateWalker(WalkerDto obj) { var url = "/api/walkers"; var serializedObj = JsonConvert.SerializeObject(obj); var content = new StringContent(serializedObj, Encoding.UTF8, "application/json"); return(await _client.PostAsync(url, content)); }
public async Task <IActionResult> PostWalker([FromBody] WalkerDto walkerDto) { var result = await _repository.CreateWalker(walkerDto); if (result.Item1 != null) { return(Ok(new { id = result.Item1.Id, UserName = result.Item1.User.Username })); } else { return(BadRequest(new { message = $"error creating user: {result.Item2}" })); } }
public async Task <Tuple <Walker, string> > CreateWalker(WalkerDto walkerDto) { using (var trans = await _dbContext.Database.BeginTransactionAsync()) { try { var walker = new Walker { User = _userService.CreateUser(new Entities.User { Username = walkerDto.SchoolId, Role = Role.Walker, FirstName = walkerDto.Name, LastName = walkerDto.LastName, Province = walkerDto.Province, Canton = walkerDto.Canton, Email = walkerDto.Email, Email2 = walkerDto.Email2, Mobile = walkerDto.Mobile, Description = walkerDto.Description, Photo = walkerDto.Photo, DateCreated = DateTime.UtcNow }, walkerDto.Password), University = walkerDto.University, DoesOtherProvinces = walkerDto.DoesOtherProvinces, OtherProvinces = walkerDto.OtherProvinces }; _dbContext.Walker.Add(walker); await _dbContext.SaveChangesAsync(); trans.Commit(); return(new Tuple <Walker, string>(walker, "success")); } catch (DbUpdateException e) { trans.Rollback(); return(new Tuple <Walker, string>(null, e.InnerException.Message)); } } }