コード例 #1
0
        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.");
            }
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        // 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));
        }