Exemplo n.º 1
0
        public bool AddUserToGroup(string samAccountName, string groupName)
        {
            var wasSuccessful = false;

            if (samAccountName == null)
            {
                return(wasSuccessful);
            }
            if (groupName == null)
            {
                return(wasSuccessful);
            }

            var request = new ChangeGroupRequest()
            {
                GroupName      = groupName,
                SamAccountName = samAccountName
            };

            var response = _groupsClient.PostAsJsonAsync($"{_groupsUri}/add-to-group/", request).Result;

            response.EnsureSuccessStatusCode();

            return(response.Content.ReadAsAsync <bool>().Result);
        }
        public async Task <ActionResult <UpdateChargeStationDto> > ChangeGroup(Guid id,
                                                                               [FromBody] ChangeGroupRequest request)
        {
            var response = await Mediator.Send(
                new ChangeGroupCommand
            {
                ChargeStationId = id,
                ChargeGroupId   = request.ChargeGroupId
            });

            return(Ok(response));
        }
        public ChangeGroupResponse ChangeGroup(ISession session, ChangeGroupRequest request)
        {
            var response  = request.CreateResponse <ChangeGroupResponse>();
            var groupChat = _groupChatsRepository.GetChat(request.GroupId);

            if (!HasAccess(groupChat, session.UserId))
            {
                response.Success = false;
                response.Error   = Errors.OperationIsNotPermitted;
                return(response);
            }

            if (groupChat.Avatar != request.NewGroupAvatar)
            {
                groupChat.Avatar = request.NewGroupAvatar;
                _groupChatsRepository.UpdateOrCreateGroup(groupChat);
                foreach (var participant in groupChat.Participants)
                {
                    _groupChangedEventManager.DeliverEventToDevices(participant.Devices,
                                                                    () => new GroupChangedEvent
                    {
                        ChangesAuthorId = session.UserId,
                        GroupId         = request.GroupId,
                        Avatar          = request.NewGroupAvatar,
                        Type            = GroupChangedEvent.ChangesType.NewAvatar
                    });
                }
            }

            if (groupChat.Name != request.NewGroupName)
            {
                groupChat.Name = request.NewGroupName;
                _groupChatsRepository.UpdateOrCreateGroup(groupChat);
                foreach (var participant in groupChat.Participants)
                {
                    _groupChangedEventManager.DeliverEventToDevices(participant.Devices,
                                                                    () => new GroupChangedEvent
                    {
                        ChangesAuthorId = session.UserId,
                        GroupId         = request.GroupId,
                        Name            = request.NewGroupName,
                        Type            = GroupChangedEvent.ChangesType.NewName
                    });
                }
            }
            return(response);
        }
Exemplo n.º 4
0
 public IHttpActionResult PostRemoveUserFromGroup(ChangeGroupRequest request)
 {
     return(Ok(_groupSvc.RemoveUserFromGroup(request.SamAccountName, request.GroupName)));
 }
Exemplo n.º 5
0
 public IHttpActionResult PostAddUserToGroup(ChangeGroupRequest request)
 {
     return(Ok(_groupSvc.AddUserToGroup(request.SamAccountName, request.GroupName)));
 }
Exemplo n.º 6
0
 public Task <ChangeGroupResponse> ChangeGroup(ChangeGroupRequest request)
 {
     return(_connectionManager.SendRequestAndWaitResponse <ChangeGroupResponse>(request));
 }