Esempio n. 1
0
 private void m_sendEmail1_MethodInvoking(object sender, EventArgs e)
 {
     try
     {
         POLibraryWorkflowAssociationData _activationData  = POLibraryWorkflowAssociationData.Deserialize(m_WorkflowProperties.InitiationData);
         IPurchaseOrderTemplate           _emailBodyObject = null;
         using (EntitiesDataContext _EDC = new EntitiesDataContext(m_WorkflowProperties.SiteUrl))
         {
             if (_activationData.Carrier)
             {
                 _emailBodyObject = FreightPurchaseOrderTemplate.CreateEmailMessage(m_WorkflowProperties.Item, _EDC);
             }
             else
             {
                 _emailBodyObject = SecurityEscortPurchaseOrderTemplate.CreateEmailMessage(m_WorkflowProperties.Item, _EDC);
             }
             m_sendEmail1_CC = DistributionList.GetEmail(ShepherdRole.Coordinator, _EDC);
         }
         m_sendEmail1_From    = m_WorkflowProperties.OriginatorEmail;
         m_sendEmail1_Subject = _activationData.Name;
         m_sendEmail1_To      = _emailBodyObject.EmaiAddressTo;
         m_sendEmail1_Body    = _emailBodyObject.TransformText();
     }
     catch (Exception ex)
     {
         string _frmt = "Worflow aborted in TransformText because of the error: {0}";
         throw new ApplicationException(String.Format(_frmt, ex.Message));
     }
 }
        private void SendingEmailsReplicator_ChildInitialized(object sender, ReplicatorChildEventArgs e)
        {
            MailData _md = (MailData)e.InstanceData;

            try
            {
                using (EntitiesDataContext EDC = new EntitiesDataContext(_md.URL)
                {
                    ObjectTrackingEnabled = false
                })
                {
                    Shipping        _sp    = Element.GetAtIndex <Shipping>(EDC.Shipping, _md.ShippmentID.ToString());
                    IEmailGrnerator _msg   = default(IEmailGrnerator);
                    string          _cause = default(string);
                    switch (_md.EmailType)
                    {
                    case EmailType.Delayed:
                        _msg = new DelayedShippingVendorTemplate()
                        {
                            TruckTitle = _sp.TruckTitle.Title(),
                        };
                        _cause = "ShipmentDelayed".GetLocalizedString();
                        break;

                    case EmailType.RequestData:
                        switch (_md.Role)
                        {
                        case ExternalRole.Vendor:
                        case ExternalRole.Forwarder:
                            _msg = new SupplementData2hVendorTemplate();
                            break;

                        case ExternalRole.Escort:
                            _msg = new SupplementData2hEscortTemplate();
                            break;

                        default:
                            break;
                        }
                        _cause = "DataRequestShipment".GetLocalizedString();
                        break;

                    case EmailType.Canceled:
                        _msg   = new CanceledShippingVendorTemplate();
                        _cause = "ShipmentCanceled".GetLocalizedString();
                        break;
                    } //switch (_md.EmailType)
                    switch (_md.Role)
                    {
                    case ExternalRole.Vendor:
                    case ExternalRole.Forwarder:
                        _msg.PartnerTitle = _sp.PartnerTitle.Title();
                        m_CarrierNotificationSendEmail_To = _sp.PartnerTitle != null?_sp.PartnerTitle.EmailAddress.UnknownIfEmpty() : CommonDefinition.UnknownEmail;

                        break;

                    case ExternalRole.Escort:
                        _msg.PartnerTitle = _sp.Shipping2PartnerTitle.Title();
                        m_CarrierNotificationSendEmail_To = _sp.Shipping2PartnerTitle != null?_sp.Shipping2PartnerTitle.EmailAddress.UnknownIfEmpty() : CommonDefinition.UnknownEmail;

                        break;

                    default:
                        break;
                    } //switch (_md.Role)
                    _msg.ShippingTitle = _sp.Title();
                    _msg.StartTime     = _sp.StartTime.Value;
                    _msg.Subject       = _sp.Title().Insert(0, _cause);
                    ShepherdRole _ccRole = _sp.IsOutbound.Value ? ShepherdRole.OutboundOwner : ShepherdRole.InboundOwner;
                    string       _cc     = DistributionList.GetEmail(_ccRole, EDC);
                    m_CarrierNotificationSendEmail_Subject1 = _sp.Title().Insert(0, _cause);
                    m_CarrierNotificationSendEmail_CC       = _cc;
                    m_CarrierNotificationSendEmail_From     = _cc;
                    m_CarrierNotificationSendEmail_Body     = _msg.TransformText();
                } //using
            }
            catch (Exception ex)
            {
                ReportException("SendingEmailsReplicator_ChildInitialized", ex);
            }
        }