Ejemplo n.º 1
0
 public GeneratedFile GenerateSignatureRejectionXml(string authToken, string boxId, string messageId,
                                                    string attachmentId, SignatureRejectionInfo signatureRejectionInfo)
 {
     if (boxId == null)
     {
         throw new ArgumentNullException("boxId");
     }
     if (messageId == null)
     {
         throw new ArgumentNullException("messageId");
     }
     if (attachmentId == null)
     {
         throw new ArgumentNullException("attachmentId");
     }
     return(diadocHttpApi.GenerateSignatureRejectionXml(authToken, boxId, messageId, attachmentId, signatureRejectionInfo));
 }
        public Task <GeneratedFile> GenerateSignatureRejectionXmlAsync(string authToken, string boxId, string messageId, string attachmentId, SignatureRejectionInfo signatureRejectionInfo)
        {
            var queryString = $"/GenerateSignatureRejectionXml?boxId={boxId}&messageId={messageId}&attachmentId={attachmentId}";

            return(PerformGenerateXmlHttpRequestAsync(authToken, queryString, signatureRejectionInfo));
        }
Ejemplo n.º 3
0
        public async Task Save()
        {
            try {
                BeginAction();
                var patch = Payload.Patch();

                if (ReqRevocationSign)
                {
                    Entity revocreq = Payload.Message.Entities.FirstOrDefault(x =>
                                                                              x.AttachmentTypeValue == Diadoc.Api.Com.AttachmentType.RevocationRequest);
                    SignatureRejectionInfo signrejinfo = new SignatureRejectionInfo();
                    signrejinfo.Signer       = GetSigner();
                    signrejinfo.ErrorMessage = Comment.Value;
                    GeneratedFile revocRejectSign = await Async((x) => Payload.Api.GenerateSignatureRejectionXml(
                                                                    x,
                                                                    Payload.BoxId,
                                                                    Payload.Message.MessageId,
                                                                    revocreq.EntityId,
                                                                    signrejinfo));

                    XmlSignatureRejectionAttachment signrejattch = new XmlSignatureRejectionAttachment();
                    signrejattch.ParentEntityId = revocreq.EntityId;
                    SignedContent signcontent = new SignedContent();
                    signcontent.Content = revocRejectSign.Content;
                    if (!TrySign(signcontent))
                    {
                        throw new Exception("Ошибка подписи документа TrySign");
                    }
                    signrejattch.SignedContent = signcontent;
                    patch.AddXmlSignatureRejectionAttachment(signrejattch);
                }
                else
                {
                    var content = new SignedContent();
                    //комментарий должен быть всегда
                    if (!String.IsNullOrEmpty(Comment.Value))
                    {
                        content.Content = Encoding.UTF8.GetBytes(Comment.Value);
                    }
                    else
                    {
                        content.Content = Encoding.UTF8.GetBytes(" ");
                    }

                    if (!TrySign(content))
                    {
                        throw new Exception("Ошибка подписи документа TrySign");
                    }
                    patch.RequestedSignatureRejections.Add(new RequestedSignatureRejection {
                        ParentEntityId = Payload.Entity.EntityId,
                        SignedContent  = content
                    });
                }
                await Async(x => Payload.Api.PostMessagePatch(x, patch));
                await EndAction();
            }
            catch (Exception e) {
                var error = ErrorHelper.TranslateException(e)
                            ?? "Не удалось выполнить операцию, попробуйте повторить позднее.";
                Manager.Warning(error);
                Log.Error(error, e);
                await EndAction(false);
            }
        }
Ejemplo n.º 4
0
        public GeneratedFile GenerateSignatureRejectionXml(string authToken, string boxId, string messageId, string attachmentId, SignatureRejectionInfo signatureRejectionInfo)
        {
            var queryString = string.Format("/GenerateSignatureRejectionXml?boxId={0}&messageId={1}&attachmentId={2}", boxId, messageId, attachmentId);

            return(PerformGenerateXmlHttpRequest(authToken, queryString, signatureRejectionInfo));
        }