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)); }
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); } }
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)); }