コード例 #1
0
        public submitApplicationResponse GetVetDocumentListOperation(string IssuerId, string EnterpriseGuid,
                                                                     string LocalTransactionId, int vetDocumentType, int VetDocumentStatus)
        {
            var vetList = new GetVetDocumentListRequest
            {
                localTransactionId = LocalTransactionId,
                initiator          = new User
                {
                    login = Common.Login
                },
                vetDocumentType   = (VetDocumentType)vetDocumentType,
                vetDocumentStatus = (VetDocumentStatus)VetDocumentStatus,
                enterpriseGuid    = EnterpriseGuid
            };

            var wrapper    = new getVetDocumentListRequestRequest(vetList);
            var dataObject = SerializeToXmlElement(wrapper, vetList);

            return(AppRequest(IssuerId, dataObject));
        }
コード例 #2
0
        public async Task <VsdListViewModel> GetVetDocumentList(
            string localTransactionId,
            Core.Domain.Auth.User user,
            Core.Domain.Auth.Enterprise enterprise,
            int count,
            int offset,
            int vetDocumentType,
            int vetDocumentStatus
            )
        {
            try
            {
                var requestData = new GetVetDocumentListRequest
                {
                    localTransactionId = localTransactionId,
                    initiator          = new User {
                        login = user.MercuryLogin
                    },
                    listOptions = new ListOptions {
                        count = count.ToString(), offset = offset.ToString()
                    },
                    vetDocumentTypeSpecified   = true,
                    vetDocumentType            = (VetDocumentType)vetDocumentType,
                    vetDocumentStatusSpecified = true,
                    vetDocumentStatus          = (VetDocumentStatus)vetDocumentStatus,
                    enterpriseGuid             = enterprise.MercuryId
                };

                var result = await requestData.SendRequest <GetVetDocumentListResponse>(
                    user.ApiKey,
                    _mercuryOptions.ServiceId,
                    user.IssuerId,
                    user.ApiLogin,
                    user.ApiPassword
                    );

                var vetDocumentList = new List <VsdViewModel>();

                if (result.vetDocumentList.vetDocument is not null)
                {
                    foreach (var vetDocument in result.vetDocumentList.vetDocument)
                    {
                        var item = (CertifiedConsignment)vetDocument.Item;

                        DateTime?processDate = null;

                        if (vetDocument.referencedDocument is not null)
                        {
                            var tnns = vetDocument.referencedDocument
                                       .Where(x => x.type == DocumentType.Item1 || x.type == DocumentType.Item5)
                                       .OrderByDescending(x => x.issueDate)
                                       .ToList();

                            processDate = tnns[0]?.issueDate.AddDays(1);
                        }

                        var element = new VsdViewModel
                        {
                            Id              = vetDocument.uuid,
                            Name            = item.batch.productItem.name,
                            ProductGlobalId = item.batch.productItem.globalID,
                            Volume          = item.batch.volume,
                            ProductDate     = item.batch.dateOfProduction.firstDate.ToDateTime(),
                            IssueDate       = vetDocument.issueDate,
                            ProcessDate     = processDate
                        };

                        vetDocumentList.Add(element);
                    }
                }

                return(new VsdListViewModel
                {
                    result = vetDocumentList,
                    ElementCount = result.vetDocumentList.total
                });
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);

                if (e is EndpointNotFoundException)
                {
                    return new VsdListViewModel {
                               result = new List <VsdViewModel>(), ElementCount = 0
                    }
                }
                ;

                throw;
            }
        }