Beispiel #1
0
        private void AddDocumentToRequest(AssociatedDoc assDoc, FaxRequest request)
        {
            var  originalSelection = ImagesEventManager.Instance.CurrentSelected;
            var  associatedDocsDto = originalSelection;
            bool wasChanged        = false;

            try
            {
                if (originalSelection.DocsId != assDoc.Id || originalSelection.Type != ImagesDtoType.Associated)
                {
                    associatedDocsDto = imagesDal.GetByDocId(assDoc.Id, ImagesDtoType.Associated);
                    ImagesEventManager.Instance.Raise(new ImagesSelectedEventArgs(associatedDocsDto, false));
                    wasChanged = true;
                }

                var currentEditor  = TifEditor.GetCurrentEditor();
                var publishToBytes = currentEditor.PublishToBytes();
                associatedDocsDto.MarkupImage = publishToBytes;
                imagesDal.Update(associatedDocsDto);
                vaulter.VaultAssociatedDoc(assDoc.Id, null);

                request.AddDocument(assDoc.FileName, currentEditor.TotalPages, publishToBytes);
            }
            finally
            {
                if (wasChanged)
                {
                    ImagesEventManager.Instance.Raise(new ImagesSelectedEventArgs(originalSelection, false));
                }
            }
        }
Beispiel #2
0
        public static AssociatedDocsDto CreateAssociatedDocsDto(AssociatedDoc assDoc)
        {
            var assocDocsData = new AssociatedDocsDto();

            assocDocsData.BrokerSn           = assDoc.BrokerShortName;
            assocDocsData.CdtyGroupCode      = assDoc.CdtyGroupCode;
            assocDocsData.CptySn             = assDoc.CptyShortName;
            assocDocsData.FileName           = assDoc.FileName;
            assocDocsData.Id                 = assDoc.Id;
            assocDocsData.InboundDocsId      = assDoc.InboundDocsId;
            assocDocsData.IndexVal           = Convert.ToInt16(assDoc.IndexVal);
            assocDocsData.TradeRqmtId        = assDoc.TradeRqmtId;
            assocDocsData.TradeId            = assDoc.TradeId;
            assocDocsData.DocTypeCode        = assDoc.DocTypeCode;
            assocDocsData.SecValidateReqFlag = assDoc.SecondValidateReqFlag;
            return(assocDocsData);
        }
Beispiel #3
0
        private void CopyDataToBeUpdated()
        {
            sumDataCacheCopy.Clear();
            rqmtDataCacheCopy.Clear();
            assDocDataCacheCopy.Clear();
            inbDocViewCacheCopy.Clear();
            tradeRqmtConfirmCacheCopy.Clear();

            foreach (SummaryData data in sumDataCache)
            {
                SummaryData copyData = new SummaryData();
                copyData = data;
                sumDataCacheCopy.Add(copyData);
            }

            foreach (RqmtData data in rqmtDataCache)
            {
                RqmtData copyData = new RqmtData();
                copyData = data;
                rqmtDataCacheCopy.Add(copyData);
            }

            foreach (AssociatedDoc data in assDocDataCache)
            {
                AssociatedDoc copyData = new AssociatedDoc();
                copyData = data;
                assDocDataCacheCopy.Add(copyData);
            }

            foreach (InboundDocsView data in inbDocViewCache)
            {
                InboundDocsView copyData = new InboundDocsView();
                copyData = data;
                inbDocViewCacheCopy.Add(copyData);
            }

            foreach (TradeRqmtConfirm data in tradeRqmtConfirmCache)
            {
                TradeRqmtConfirm copyData = new TradeRqmtConfirm();
                copyData = data;
                tradeRqmtConfirmCacheCopy.Add(copyData);
            }
        }
Beispiel #4
0
        private void DetermineTransmitDestination(AssociatedDoc assDoc)
        {
            if (transmitDestination.IsValid)
            {
                if (!InboundSettings.IsProductionSystem && !transmitDestination.IsValidNonProdSendToAddress())
                {
                    throw new Exception(String.Format(
                                            "Unable to send to '{0}' from a non-production system.", transmitDestination.Value) + Environment.NewLine +
                                        "Error CNF-423 in " + FORM_NAME + ".DetermineTransmitDestination().");
                }
                return;
            }

            using (var rqstForm = new frmAssignFaxNo())
            {
                rqstForm.SetFaxNumbers("", assDoc.XmitValue ?? "");
                rqstForm.SetIsAssociatedDoc(true);
                rqstForm.ShowDialog();
                transmitDestination = rqstForm.TransmitDestination;
            }
        }
Beispiel #5
0
        public void SendToGateway(AssociatedDoc assDoc, SummaryData sumData)
        {
            if (assDoc == null)
            {
                throw new Exception("Unable to find an associated doc to transmit." + Environment.NewLine +
                                    "Error CNF-421 in " + FORM_NAME + ".SendToGateway().");
            }

            if (sumData == null)
            {
                throw new Exception("Unable to transmit an associated document without an attached summary data." + Environment.NewLine +
                                    "Error CNF-422 in " + FORM_NAME + ".SendToGateway().");
            }

            DetermineTransmitDestination(assDoc);
            if (transmitDestination == null)
            {
                UserCanceled = true;
                return;
            }

            int xmitRequestId = xmitRequestDal.SaveAssociatedDocumentXmitRequest(assDoc.Id,
                                                                                 transmitDestination.Type, transmitDestination.Value, InboundSettings.UserName);

            var callbackGen = new TransmitCallbackGenerator(xmitRequestId);

            var destinations = transmitDestination.Value.Split(';');

            foreach (string destin in destinations)
            {
                var request = new FaxRequest {
                    FaxNumber = destin, AppCode = PRODUCT_INB_APP_CODE
                };

                request.AppSender = InboundSettings.UserName;

                request.ReceiptAction = new CallbackAction("http",
                                                           callbackGen.GenerateUrl(TransmitCallbackAction.Queued));


                request.Action.SuccessAction = new CallbackAction("http",
                                                                  callbackGen.GenerateUrl(TransmitCallbackAction.Success));

                request.Action.FailureAction = new CallbackAction("http",
                                                                  callbackGen.GenerateUrl(TransmitCallbackAction.Failed));

                request.AppReference = Convert.ToString(sumData.TradeSysTicket);
                request.Recipient    = sumData.CptySn;

                AddDocumentToRequest(assDoc, request);

                var email = new Emailer();
                if (transmitDestination.Type == TransmitDestinationType.EMAIL)
                {
                    request.SendMethod   = "EMAIL";
                    request.EmailAddress = request.FaxNumber;
                    request.FaxNumber    = "";
                    email.SendToFaxGateway(InboundSettings.EmailHost,
                                           InboundSettings.TransmissionGatewayEmailFromAddress,
                                           InboundSettings.TransmissionGatewayEmailToAddress,
                                           request,
                                           "");
                }
                else
                {
                    request.SendMethod = "FAX";
                    email.SendToFaxGateway(InboundSettings.EmailHost,
                                           InboundSettings.TransmissionGatewayEmailFromAddress,
                                           InboundSettings.TransmissionGatewayEmailToAddress,
                                           request,
                                           "");
                }
            }
        }