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
            });
        }
Beispiel #3
0
        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());
        }
Beispiel #5
0
        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);
            }
        }