/// <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)); }
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); }