public async void AddUserButtonClick() { if (ActiveUser.IsActive == true) { AddUserBoardPermisionDTO dto = new AddUserBoardPermisionDTO() { BoardId = parentBoardId, Username = NewUsername }; ReadUserDTO user = await PermissionService.CreatePermission(ActiveUser.Instance.LoggedUser.Token, dto); if (user != null) { ShowMessageBox(null, "Dodat user"); Users.Add(new ReadUser(user)); } else { ShowMessageBox(null, "Error adding user."); } } else { ShowMessageBox(null, "Error getting user."); } }
public static async Task <ReadUserDTO> CreatePermission(string accessToken, AddUserBoardPermisionDTO addUserBoardPermisionDTO) { using (HttpClient client = new HttpClient()) { try { string json = JsonConvert.SerializeObject(addUserBoardPermisionDTO); 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/Permission/", byteContent); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var jsonString = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <ReadUserDTO>(jsonString); return(result); } else { return(null); } } catch (Exception e) { Debug.WriteLine(e.Message); return(null); } } }
public ReadUserDTO AddUserBoardPermision(AddUserBoardPermisionDTO dto, string admin) { bool ret = false; using (UnitOfWork unit = new UnitOfWork()) { bool isAdmin = unit.PermissionRepository.IsAdmin(dto.BoardId, admin); Permission perm = unit.PermissionRepository.GetPermissionByUsername(dto.BoardId, dto.Username); if (isAdmin && perm == null) { Board b = unit.BoardRepository.GetById(dto.BoardId); User u = unit.UserRepository.GetUserByUsername(dto.Username); if (u != null && b != null) { Permission p = new Permission() { Board = b, User = u }; BoardNotification boardNotification = new BoardNotification() { Board = b, User = u }; unit.PermissionRepository.Insert(p); unit.BoardNotificationRepository.Insert(boardNotification); ret = unit.Save(); if (ret) { RabbitMQService.PublishToExchange(u.ExchangeName, new MessageContext(new BoardMessageStrategy(new BasicBoardDTO(b), MessageType.Create, admin))); RabbitMQService.PublishToExchange(b.ExchangeName, new MessageContext(new PermissionMessageStrategy(new ReadUserDTO(u), MessageType.Create, admin))); return(new ReadUserDTO(u)); } } } } return(null); }
// PUT: api/Permission/5 //public void Put(int id, [FromBody]UpdatePermissionDTO value) //{ // ps.UpdatePermission(value); //} //POST: api/Permission public ReadUserDTO Post([FromBody] AddUserBoardPermisionDTO value) { return(ps.AddUserBoardPermision(value, User.Identity.Name)); }