public async Task <IActionResult> SigninAsync([FromBody] SigninBindingModel collection) { Log.Debug($"A User is trying to signing in with this data: {JsonConvert.SerializeObject(collection)}"); if (string.IsNullOrEmpty(collection?.Username) || string.IsNullOrEmpty(collection?.Password)) { return(BadRequest(_localizer[DataTransferer.DefectiveUsernameOrPassword().Message])); } var deviceHeader = GetDeviceInfosFromHeader(); if (deviceHeader == null) { return(BadRequest(_localizer[DataTransferer.UnofficialRequest().Message])); } collection.DeviceId = deviceHeader.DeviceId; collection.DeviceName = deviceHeader.DeviceName; collection.DeviceType = deviceHeader.DeviceType; try { var result = await _accountService.SigninAsync(collection).ConfigureAwait(true); switch (result.Code) { case 200: return(Ok(result.Data)); case 400: return(BadRequest(result.Message)); case 500: default: return(Problem(result.Message)); } } catch (Exception ex) { Log.Error(ex, ex.Source); return(Problem(_localizer[DataTransferer.SomethingWentWrong().Message])); } }