public async Task <Guid> Setup(SetupDeviceRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (await _deviceRepository.HasAsync(x => x.Udid == request.Udid)) { throw new ApplicationException($"Device with udid: {request.Udid} already exist"); } var device = request.Adapt <Device>(); device.CreatedOn = DateTime.UtcNow; device.IsPending = true; return(await _deviceRepository.AddAsync(device)); }
public async Task <IActionResult> PendingPost([FromBody] SetupDeviceRequest request) { try { var deviceId = await _deviceService.Setup(request); return(Created(HttpContext.Request.GetEncodedUrl(), deviceId)); } catch (ArgumentNullException ex) { return(BadRequest(ex.Message)); } catch (ApplicationException ex) { return(BadRequest(ex.Message)); } }