Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        //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);
        }
Esempio n. 3
0
 public ShortBoardDTO Post([FromBody] CreateBoardDTO board)
 {
     return(service.InsertBoard(board, User.Identity.Name));
 }