Пример #1
0
        /// <summary>
        /// Обработчик запроса на получение данных по пользователям домена.
        /// </summary>
        /// <param name="serializer">Сериализатор протокола.</param>
        /// <param name="postData">Данные запроса.</param>
        /// <param name="hostAddress">Адрес клиента.</param>
        /// <returns>Результат.</returns>
        private string ProcessGetDomainUsersRequest(ProtocolSerializer serializer, string postData, string hostAddress)
        {
            var request = serializer.DeserializeGetDomainUsersRequest(postData);

            _logger.InfoFormat(
                "Получен запрос на получение информации по пользователям от пользователя {0} с клиента {1}",
                request.UserID, hostAddress);

            var userDomainID = CheckSignedMessage(request);

            var users    = RemontinkaServer.Instance.DataStore.GetUsers(userDomainID);
            var response = new GetDomainUsersResponse();

            foreach (var user in users)
            {
                response.Users.Add(new DomainUserDTO
                {
                    Email         = user.Email,
                    FirstName     = user.FirstName,
                    LastName      = user.LastName,
                    MiddleName    = user.MiddleName,
                    Phone         = user.Phone,
                    ProjectRoleID = user.ProjectRoleID,
                    UserID        = user.UserID,
                    LoginName     = user.LoginName
                });
            }  //foreach

            return(serializer.Serialize(response));
        }
Пример #2
0
        public void GetDomainUsersResponseTest()
        {
            var message = new GetDomainUsersResponse();

            Assert.AreEqual(message.Kind, MessageKind.GetDomainUsersResponse);
            var user1 = new DomainUserDTO();

            user1.Email         = "Email";
            user1.LoginName     = "LoginName";
            user1.FirstName     = "FirstName";
            user1.LastName      = "LastName";
            user1.MiddleName    = "MiddleName";
            user1.Phone         = "Phone";
            user1.ProjectRoleID = 1;
            user1.UserID        = Guid.NewGuid();

            var user2 = new DomainUserDTO();

            user2.Email         = "Email1";
            user2.LoginName     = "LoginName1";
            user2.FirstName     = "FirstName1";
            user2.LastName      = "LastName1";
            user2.MiddleName    = "MiddleName1";
            user2.Phone         = "Phone1";
            user2.ProjectRoleID = 2;
            user2.UserID        = Guid.NewGuid();

            message.Users.Add(user1);
            message.Users.Add(user2);

            var serializer = new ProtocolSerializer(ProtocolVersion.Version10);
            var data       = serializer.Serialize(message);

            Assert.IsNotNull(data);

            var savedMessage = serializer.DeserializeGetDomainUsersResponse(data);

            Assert.IsNotNull(savedMessage);
            Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetDomainUsersResponse);
            Assert.AreEqual(savedMessage.Users.Count, 2);

            var savedUser1 = savedMessage.Users[0];
            var savedUser2 = savedMessage.Users[1];

            Assert.AreEqual(savedUser1.Email, user1.Email);
            Assert.AreEqual(savedUser1.LoginName, user1.LoginName);
            Assert.AreEqual(savedUser1.FirstName, user1.FirstName);
            Assert.AreEqual(savedUser1.LastName, user1.LastName);
            Assert.AreEqual(savedUser1.MiddleName, user1.MiddleName);
            Assert.AreEqual(savedUser1.Phone, user1.Phone);
            Assert.AreEqual(savedUser1.ProjectRoleID, user1.ProjectRoleID);
            Assert.AreEqual(savedUser1.UserID, user1.UserID);

            Assert.AreEqual(savedUser2.Email, user2.Email);
            Assert.AreEqual(savedUser2.LoginName, user2.LoginName);
            Assert.AreEqual(savedUser2.FirstName, user2.FirstName);
            Assert.AreEqual(savedUser2.LastName, user2.LastName);
            Assert.AreEqual(savedUser2.MiddleName, user2.MiddleName);
            Assert.AreEqual(savedUser2.Phone, user2.Phone);
            Assert.AreEqual(savedUser2.ProjectRoleID, user2.ProjectRoleID);
            Assert.AreEqual(savedUser2.UserID, user2.UserID);
        }