/// <summary> /// Gets the email. /// </summary> /// <param name="ccRole">The cc role.</param> /// <param name="EDC">The EDC.</param> /// <returns></returns> public static string GetEmail(ShepherdRole ccRole, EntitiesDataContext EDC) { var _ccdl = (from _ccx in EDC.DistributionList where _ccx.ShepherdRole.GetValueOrDefault(Entities.ShepherdRole.Invalid) == ccRole select new { Email = _ccx.EmailAddress }).FirstOrDefault(); if (_ccdl == null || String.IsNullOrEmpty(_ccdl.Email)) { _ccdl = (from _ccx in EDC.DistributionList where _ccx.ShepherdRole.GetValueOrDefault(Entities.ShepherdRole.Invalid) == Entities.ShepherdRole.Administrator select new { Email = _ccx.EmailAddress }).FirstOrDefault(); } return((_ccdl == null ? String.Empty : _ccdl.Email).UnknownIfEmpty()); }
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); } }