public static async Task <ShortBoardDTO> CreateBoard(string accessToken, CreateBoardDTO createBoardDTO) { using (HttpClient client = new HttpClient()) { try { string json = JsonConvert.SerializeObject(createBoardDTO); var buffer = System.Text.Encoding.UTF8.GetBytes(json); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); client.DefaultRequestHeaders.Add("Authorization", accessToken); var response = await client.PostAsync("http://localhost:52816/api/Board/", byteContent); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var jsonString = await response.Content.ReadAsStringAsync(); var boardArray = JsonConvert.DeserializeObject <ShortBoardDTO>(jsonString); return(boardArray); } else { return(null); } } catch (Exception e) { Debug.WriteLine(e.Message); return(null); } } }
//Ako ne uspe dodavanje board-a vratice se null public ShortBoardDTO InsertBoard(CreateBoardDTO boardDTO, string username) { Board board = boardDTO.FromDTO(); board.ExchangeName = Guid.NewGuid().ToString(); ShortBoardDTO dto = null; using (UnitOfWork unit = new UnitOfWork()) { User creator = unit.UserRepository.GetUserByUsername(username); if (board != null && creator != null) { Permission permision = new Permission() { IsAdmin = true, Board = board, User = creator }; BoardNotification boardNotif = new BoardNotification() { Board = board, User = creator }; unit.PermissionRepository.Insert(permision); unit.BoardNotificationRepository.Insert(boardNotif); if (unit.Save()) { dto = new ShortBoardDTO(board, true); RabbitMQService.DeclareExchange(board.ExchangeName); } } } return(dto); }
public ShortBoardDTO Post([FromBody] CreateBoardDTO board) { return(service.InsertBoard(board, User.Identity.Name)); }