public async Task <WorkspaceResponse> Handle(UpdateWorkspaceCommand request, CancellationToken cancellationToken) { WorkspaceDto workspaceDto = _mapper.Map <WorkspaceDto>(request); await _repository.UpdateWorkspace(workspaceDto); return(new WorkspaceResponse() { Id = workspaceDto.ID }); }
public async Task <WorkspaceResponse> Handle(CreateWorkspaceCommand request, CancellationToken cancellationToken) { request.ID = _repository.GenerateId(); WorkspaceDto workspace = _mapper.Map <WorkspaceDto>(request); await _repository.CreateWorkspace(workspace); return(new WorkspaceResponse() { Id = workspace.ID }); }
private FormUrlEncodedContent EncodeContent(WorkspaceDto workspace) { var content = new List <KeyValuePair <string, string> >(); if (workspace.WorkspaceId != 0) { content.Add(new KeyValuePair <string, string>("workspace_id", workspace.WorkspaceId.ToString())); } content.Add(new KeyValuePair <string, string>("workspace_name", workspace.WorkspaceName)); return(new FormUrlEncodedContent(content)); }
public async Task <IActionResult> Register([FromBody] WorkspaceDto workspaceDto) { if (await _userQueryService.IsEmailRegisteredAsync(workspaceDto.Email)) { throw new Exception($"Email \"{workspaceDto.Email}\" is already taken"); } var workspaceId = await _workspaceCommandService.RegisterAsync(workspaceDto.WorkspaceName); var userId = await _userCommandService.RegisterAsync(workspaceDto.Email, workspaceDto.Password, workspaceDto.DisplayName, workspaceId); await _workspaceCommandService.UpdateOwnerIdAsync(workspaceId, userId); await _channelCommandService.AddDefaultChannelsToNewWorkplaceAsync(userId, workspaceId); await _channelCommandService.AddUserToDefaultChannelsAsync(userId, workspaceId); await _conversationCommandService.StartSelfConversationAsync(userId, workspaceId); return(Ok()); }
public async Task <SingleResponse <int> > WorkspaceActions(WorkspaceDto workspace) { using (_httpClient = new HttpClient()) { var endPoint = "Workspaces/API/"; _httpClient.BaseAddress = new Uri(_baseAddress); _httpClient.DefaultRequestHeaders.Clear(); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); if (workspace.WorkspaceId == 0) { endPoint += "AddWorkspace"; } else { endPoint += "EditWorkspace"; } var payload = EncodeContent(workspace); var response = await _httpClient.PostAsync(endPoint, payload); if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <SingleResponse <int> >(responseContent); if (result.Success == 1) { return(result); } ConsoleManager.Show(); Console.WriteLine(result.Message); Console.ReadKey(); } return(null); } }