Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <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));
        }