public void GetUserBranchesResponseTest() { var message = new GetUserBranchesResponse(); Assert.AreEqual(message.Kind, MessageKind.GetUserBranchesResponse); var branch = new BranchDTO(); branch.Address = "Address"; branch.BranchID = Guid.NewGuid(); branch.LegalName = "LegalName"; branch.Title = "Title"; var item = new UserBranchMapItemDTO(); item.BranchID = branch.BranchID; item.EventDate = new DateTime(2015, 06, 07); item.UserBranchMapID = Guid.Empty; item.UserID = Guid.NewGuid(); message.Branches.Add(branch); message.UserBranchMapItems.Add(item); var serializer = new ProtocolSerializer(ProtocolVersion.Version10); var data = serializer.Serialize(message); Assert.IsNotNull(data); var savedMessage = serializer.DeserializeGetUserBranchesResponse(data); Assert.IsNotNull(savedMessage); Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetUserBranchesResponse); Assert.AreEqual(savedMessage.Branches.Count, 1); Assert.AreEqual(savedMessage.UserBranchMapItems.Count, 1); var savedBranch = savedMessage.Branches[0]; var savedItem = savedMessage.UserBranchMapItems[0]; Assert.AreEqual(savedBranch.Address, savedBranch.Address); Assert.AreEqual(savedBranch.BranchID, savedBranch.BranchID); Assert.AreEqual(savedBranch.LegalName, savedBranch.LegalName); Assert.AreEqual(savedBranch.Title, savedBranch.Title); Assert.AreEqual(savedItem.BranchID, item.BranchID); Assert.AreEqual(savedItem.EventDate, item.EventDate); Assert.AreEqual(savedItem.UserBranchMapID, item.UserBranchMapID); Assert.AreEqual(savedItem.UserID, item.UserID); }
/// <summary> /// Обработчик запроса на получение филиалов и их связей с пользователями. /// </summary> /// <param name="serializer">Сериализатор протокола.</param> /// <param name="postData">Данные запроса.</param> /// <param name="hostAddress">Адрес клиента.</param> /// <returns>Результат.</returns> private string ProcessGetUserBranchesRequest(ProtocolSerializer serializer, string postData, string hostAddress) { var request = serializer.DeserializeGetUserBranchesRequest(postData); _logger.InfoFormat( "Получен запрос на получение информации по филиалам и их связей с пользователями от пользователя {0} с клиента {1}", request.UserID, hostAddress); var userDomainID = CheckSignedMessage(request); var branches = RemontinkaServer.Instance.DataStore.GetBranches(userDomainID); var response = new GetUserBranchesResponse(); foreach (var branch in branches) { response.Branches.Add(new BranchDTO { Address = branch.Address, BranchID = branch.BranchID, LegalName = branch.LegalName, Title = branch.Title }); } //foreach var items = RemontinkaServer.Instance.DataStore.GetUserBranchMapItems(userDomainID); foreach (var userBranchMapItem in items) { response.UserBranchMapItems.Add(new Protocol.SynchronizationMessages.UserBranchMapItemDTO { BranchID = userBranchMapItem.BranchID, EventDate = userBranchMapItem.EventDate, UserBranchMapID = userBranchMapItem.UserBranchMapID, UserID = userBranchMapItem.UserID }); } //foreach return(serializer.Serialize(response)); }