public void FinancialGroupBranchesResponseTest() { var message = new GetFinancialGroupBranchesResponse(); Assert.AreEqual(message.Kind, MessageKind.GetFinancialGroupBranchesResponse); var financialGroupItem = new FinancialGroupItemDTO(); financialGroupItem.Trademark = "Trademark"; financialGroupItem.FinancialGroupID = Guid.NewGuid(); financialGroupItem.LegalName = "LegalName"; financialGroupItem.Title = "Title"; var item = new FinancialGroupBranchMapItemDTO(); item.FinancialGroupID = financialGroupItem.FinancialGroupID; item.BranchID = Guid.NewGuid(); item.FinancialGroupBranchMapID = Guid.Empty; message.FinancialGroupItems.Add(financialGroupItem); message.FinancialGroupBranchMapItems.Add(item); var serializer = new ProtocolSerializer(ProtocolVersion.Version10); var data = serializer.Serialize(message); Assert.IsNotNull(data); var savedMessage = serializer.DeserializeGetFinancialGroupBranchesResponse(data); Assert.IsNotNull(savedMessage); Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetFinancialGroupBranchesResponse); Assert.AreEqual(savedMessage.FinancialGroupItems.Count, 1); Assert.AreEqual(savedMessage.FinancialGroupBranchMapItems.Count, 1); var savedfinancialGroupItem = savedMessage.FinancialGroupItems[0]; var savedItem = savedMessage.FinancialGroupBranchMapItems[0]; Assert.AreEqual(savedfinancialGroupItem.Trademark, savedfinancialGroupItem.Trademark); Assert.AreEqual(savedfinancialGroupItem.FinancialGroupID, savedfinancialGroupItem.FinancialGroupID); Assert.AreEqual(savedfinancialGroupItem.LegalName, savedfinancialGroupItem.LegalName); Assert.AreEqual(savedfinancialGroupItem.Title, savedfinancialGroupItem.Title); Assert.AreEqual(savedItem.BranchID, item.BranchID); Assert.AreEqual(savedItem.FinancialGroupID, item.FinancialGroupID); Assert.AreEqual(savedItem.FinancialGroupBranchMapID, item.FinancialGroupBranchMapID); }
/// <summary> /// Обработчик запроса на получение филиалов и их связей с пользователями. /// </summary> /// <param name="serializer">Сериализатор протокола.</param> /// <param name="postData">Данные запроса.</param> /// <param name="hostAddress">Адрес клиента.</param> /// <returns>Результат.</returns> private string ProcessGetFinancialGroupBranchesRequest(ProtocolSerializer serializer, string postData, string hostAddress) { var request = serializer.DeserializeGetFinancialGroupBranchesRequest(postData); _logger.InfoFormat( "Получен запрос на получение информации по фингруппам и их связей с филиалами от пользователя {0} с клиента {1}", request.UserID, hostAddress); var userDomainID = CheckSignedMessage(request); var branches = RemontinkaServer.Instance.DataStore.GetFinancialGroupItems(userDomainID); var response = new GetFinancialGroupBranchesResponse(); foreach (var branch in branches) { response.FinancialGroupItems.Add(new FinancialGroupItemDTO { Trademark = branch.Trademark, FinancialGroupID = branch.FinancialGroupID, LegalName = branch.LegalName, Title = branch.Title }); } //foreach var items = RemontinkaServer.Instance.DataStore.GetFinancialGroupBranchMapItems(userDomainID); foreach (var userBranchMapItem in items) { response.FinancialGroupBranchMapItems.Add(new Protocol.SynchronizationMessages.FinancialGroupBranchMapItemDTO { BranchID = userBranchMapItem.BranchID, FinancialGroupID = userBranchMapItem.FinancialGroupID, FinancialGroupBranchMapID = userBranchMapItem.FinancialGroupBranchMapID, }); } //foreach return(serializer.Serialize(response)); }