예제 #1
0
        public FileAddressProvider(string file)
        {
            if (file == null)
                throw new ArgumentNullException("file");

            string[] lines = File.ReadAllLines(file);
            foreach(string line in lines)
            {
                string lineTrimmed = line.Trim();
                if (lineTrimmed.StartsWith("#"))
                    continue;

                int equalChar = lineTrimmed.IndexOf('=');
                if (equalChar < 0)
                    continue;

                string key = lineTrimmed.Substring(0, equalChar).Trim();
                string value = lineTrimmed.Remove(0, equalChar + 1).Trim();

                if (key.ToLower() == "fallback")
                {
                    switch (value.ToLower())
                    {
                        case "kugelmatik":
                            fallback = new KugelmatikAddressProvider();
                            break;
                        default:
                            Log.Error("FileAddressProvider: unknown fallback {0}", value);
                            break;
                    }
                }
                else
                    addresses.Add(key, IPAddress.Parse(value));
            }
        }
        public void TestAcceptLast()
        {
            string       xml    = "<remote-addresses xmlns=\"http://schemas.tangosol.com/cache\"><socket-address><address>127.0.0.1</address><port>80</port></socket-address><socket-address><address>127.0.0.1</address><port>81</port></socket-address></remote-addresses>";
            IXmlDocument config = XmlHelper.LoadXml(new StringReader(xml));

            Assert.IsNotNull(config);

            ConfigurableAddressProviderFactory factory = new ConfigurableAddressProviderFactory();

            factory.Config = config;
            IAddressProvider addrProvider = factory.CreateAddressProvider();

            Assert.IsNotNull(addrProvider);
            Assert.IsInstanceOf(typeof(ConfigurableAddressProvider), addrProvider);

            string addrProviderString = addrProvider.ToString();

            Assert.IsTrue(addrProviderString.Equals("[127.0.0.1:81,127.0.0.1:80]") ||
                          addrProviderString.Equals("[127.0.0.1:80,127.0.0.1:81]"));

            IPEndPoint addr = addrProvider.NextAddress;

            Assert.IsNotNull(addr);
            addrProvider.Reject(null);
            addr = addrProvider.NextAddress;
            Assert.IsNotNull(addr);
            addrProvider.Accept();
            addr = addrProvider.NextAddress;
            Assert.IsNotNull(addr);
        }
 public RouteBuilder(IContainer container, IAssemblyScanner assemblyScanner, IAddressProvider addressProvider, MessageConventions conventions)
 {
     this.container       = container;
     this.assemblyScanner = assemblyScanner;
     this.addressProvider = addressProvider;
     this.conventions     = conventions;
 }
예제 #4
0
 public FormsController(IFormRepository formRepository,
                        IUserContextProvider userContextProvider,
                        IAddressProvider addressProvider)
 {
     _formRepository      = formRepository;
     _userContextProvider = userContextProvider;
     _addressProvider     = addressProvider;
 }
예제 #5
0
 public PaymentController(IQueryDispatcher queryDispatcher, ICommandDispatcher commandDispatcher, IAddressProvider addressProvider, ICreditCardService creditCardService, IPayPalService paypalService)
 {
     this._queryDispatcher = queryDispatcher;
     this._commandDispatcher = commandDispatcher;
     this._addressProvider = addressProvider;
     this._creditCardService = creditCardService;
     this._paypalService = paypalService;
 }
예제 #6
0
        public SimpleInvoker(IServerRouteManager serverRouteManager, IAddressProvider addressProvider, string serverName, string group = "")
        {
            this.serverRouteManager = serverRouteManager;
            this.addressProvider    = addressProvider;
            this.serverName         = serverName;
            this.group = group;

            this.InitChannel();
        }
예제 #7
0
 public ChainProvider(ITransactionProvider transactionProvider,
                      IBlockProvider blockProvider,
                      IAddressProvider addressProvider,
                      IInfoAdapter infoAdapter,
                      ILoggerFactory loggerFactory)
 {
     _transactionProvider = transactionProvider;
     _blockProvider       = blockProvider;
     _addressProvider     = addressProvider;
     _infoAdapter         = infoAdapter;
     _log = loggerFactory.CreateLogger(GetType());
 }
예제 #8
0
 ///<summary>
 ///Load the selected address checkout control and add to the address placeholder.
 ///</summary>
 private void LoadAddressControl()
 {
     plhAddressCheckout.Controls.Clear();
     _addressProvider          = StoreController.GetAddressProvider(StoreSettings.AddressName);
     AddressCheckoutControl    = (AddressCheckoutControlBase)_addressProvider.GetCheckoutControl(this, ControlPath);
     AddressCheckoutControl.ID = "addresscheckout";
     AddressCheckoutControl.ModuleConfiguration     = ModuleConfiguration;
     AddressCheckoutControl.NoDelivery              = StoreSettings.NoDelivery;
     AddressCheckoutControl.CheckoutMode            = StoreSettings.CheckoutMode;
     AddressCheckoutControl.BillingAddressChanged  += ctlAddressCheckout_BillingAddressChanged;
     AddressCheckoutControl.ShippingAddressChanged += ctlAddressCheckout_ShippingAddressChanged;
     plhAddressCheckout.Controls.Add(AddressCheckoutControl);
 }
 public BlockchainProvider(ITransactionProvider transactionProvider,
                           IBlockProvider blockProvider,
                           IAddressProvider addressProvider,
                           IAssetProvider assetProvider,
                           IMetadataProvider metadataProvider,
                           ILog log)
 {
     TransactionProvider = transactionProvider;
     BlockProvider       = blockProvider;
     AddressProvider     = addressProvider;
     AssetProvider       = assetProvider;
     MetadataProvider    = metadataProvider;
     Log = log;
 }
예제 #10
0
        private void LoadAddressAdmin(string addressName)
        {
            plhAddressProvider.Controls.Clear();

            //Get an instance of the provider
            IAddressProvider addressProvider = StoreController.GetAddressProvider(addressName);

            //Create an instance of the provider's admin control
            ProviderControlBase providerControl = addressProvider.GetAdminControl(this, ControlPath);

            providerControl.ID = "AddressProvider";

            plhAddressProvider.Controls.Add(providerControl);
        }
        public void TestCreateAddressProvider2()
        {
            string       xml    = "<remote-addresses xmlns=\"http://schemas.tangosol.com/cache\"><address-provider><class-name>Tangosol.Net.ConfigurableAddressProviderTests+LoopbackAddressProvider, Coherence.Tests</class-name></address-provider></remote-addresses>";
            IXmlDocument config = XmlHelper.LoadXml(new StringReader(xml));

            Assert.IsNotNull(config);

            ConfigurableAddressProviderFactory factory = new ConfigurableAddressProviderFactory();

            factory.Config = config.GetElement("address-provider");
            IAddressProvider addrProvider = factory.CreateAddressProvider();

            Assert.IsNotNull(addrProvider);
            Assert.IsInstanceOf(typeof(LoopbackAddressProvider), addrProvider);
        }
예제 #12
0
        string IStringSettingConvertible.ConvertBack()
        {
            XDocument doc = new XDocument();

            doc.Add(new XElement("AddressBook"));

            foreach (var entry in Entries)
            {
                XElement entryE = new XElement("Entry");
                if (string.IsNullOrWhiteSpace(entry.FirstName))
                {
                    entry.FirstName = Resources.UnknownNameSubstitute;
                }
                entryE.Add(new XAttribute("FirstName", entry.FirstName));
                if (string.IsNullOrWhiteSpace(entry.LastName))
                {
                    entry.LastName = Resources.UnknownNameSubstitute;
                }
                entryE.Add(new XAttribute("LastName", entry.LastName));

                foreach (EntryDataItem eo in entry.Data)
                {
                    IAddressProvider provider = GetAddressProvider(eo.Identifier);
                    if (provider == null)
                    {
                        continue;
                    }

                    try
                    {
                        XElement eoE = provider.ConvertBack(eo.Data);
                        eoE.Name = eo.Identifier;
                        eoE.Add(new XAttribute("IsEnabled", eo.IsEnabled));

                        entryE.Add(eoE);
                    }
                    catch (Exception ex)
                    {
                        Logger.Instance.LogFormat(LogType.Error, this, Resources.ConvertBackErrorMessage, eo.Identifier);
                        Logger.Instance.LogException(this, ex);
                    }
                }

                doc.Root.Add(entryE);
            }

            return(doc.ToString());
        }
예제 #13
0
        private void LoadAddressProvider()
        {
            plhAddressProvider.Controls.Clear();

            //Get an instance of the provider
            IAddressProvider addressProvider = StoreController.GetAddressProvider(StoreSettings.AddressName);

            //Create an instance of the provider's profile control
            ProviderControlBase providerControl = addressProvider.GetProfileControl(this, ControlPath);

            providerControl.ModuleConfiguration = ModuleConfiguration;
            providerControl.ParentControl       = this;
            providerControl.EditComplete       += editControl_EditComplete;
            providerControl.ProviderError      += editControl_Error;

            plhAddressProvider.Controls.Add(providerControl);
        }
예제 #14
0
        internal static IAddressBook Parse(string xmlContent)
        {
            Logger.Instance.LogFormat(LogType.Debug, null, Properties.Resources.AddressBook_StartScanMessage);

            AddressBook addressBook = new AddressBook();

            // Parse document
            XDocument doc = XDocument.Parse(xmlContent);

            foreach (XElement entryE in doc.Root.Elements("Entry"))
            {
                AddressBookEntry entry = new AddressBookEntry();
                entry.Name = entryE.TryGetAttributeValue("Name", null);

                // Find all other custom attributes
                foreach (XElement customElementE in entryE.Elements())
                {
                    string providerType = customElementE.Name.LocalName;

                    IAddressProvider provider = addressBook.GetAddressProvider(providerType);
                    if (provider == null)
                    {
                        continue;
                    }

                    if (!IsEnabled(customElementE))
                    {
                        continue;
                    }

                    object customObject = provider.ParseXElement(customElementE);
                    if (customObject == null)
                    {
                        continue;
                    }

                    entry.CustomData[providerType] = customObject;
                }

                addressBook._entries.Add(entry);
            }

            Logger.Instance.LogFormat(LogType.Debug, null, Properties.Resources.AddressBook_FinishScanMessage, addressBook._entries.Count);

            return(addressBook);
        }
        public void TestTcpConnectionRemoteHostAddress()
        {
            TcpInitiator     initiator       = GetInitiator();
            IAddressProvider addressProvider = initiator.RemoteAddressProvider;

            Assert.IsTrue(addressProvider is ConfigurableAddressProvider);

            TcpConnection conn = (TcpConnection)initiator.EnsureConnection();

            Assert.IsNotNull(conn);
            Assert.AreEqual(conn.IsOpen, true);
            Assert.True(addressProvider is ConfigurableAddressProvider);
            Assert.AreEqual(((ConfigurableAddressProvider)addressProvider).RemoteHostAddress, "127.0.0.1");
            conn.Close();
            Assert.AreEqual(conn.IsOpen, false);

            initiator.Stop();
            Assert.AreEqual(initiator.IsRunning, false);
        }
예제 #16
0
        void IStringSettingConvertible.Convert(string settingValue)
        {
            Logger.Instance.LogFormat(LogType.Debug, this, Resources.AddressBook_StartScanMessage);

            XDocument doc = XDocument.Parse(settingValue);

            foreach (XElement entryE in doc.Root.Elements("Entry"))
            {
                AddressBookEntry entry = new AddressBookEntry();
                entry.FirstName = entryE.TryGetAttributeValue("FirstName", null);
                entry.LastName  = entryE.TryGetAttributeValue("LastName", null);

                // Find all other custom attributes
                foreach (XElement customElementE in entryE.Elements())
                {
                    string providerType = customElementE.Name.LocalName;

                    IAddressProvider provider = GetAddressProvider(providerType);
                    if (provider == null)
                    {
                        continue;
                    }

                    object customObject = provider.Convert(customElementE);
                    if (customObject == null)
                    {
                        continue;
                    }

                    EntryDataItem eo = new EntryDataItem();
                    eo.IsEnabled  = IsEnabled(customElementE);
                    eo.Identifier = providerType;
                    eo.Data       = customObject;
                    entry.Data.Add(eo);
                }

                Entries.Add(entry);
            }

            Logger.Instance.LogFormat(LogType.Debug, this, Resources.AddressBook_FinishScanMessage, Entries.Count);
        }
        public void TestCreateAddressProvider1()
        {
            string       xml    = "<remote-addresses xmlns=\"http://schemas.tangosol.com/cache\"><socket-address><address>10.0.0.120</address><port>80</port></socket-address><socket-address><address>10.0.0.121</address><port>8080</port></socket-address></remote-addresses>";
            IXmlDocument config = XmlHelper.LoadXml(new StringReader(xml));

            Assert.IsNotNull(config);

            ConfigurableAddressProviderFactory factory = new ConfigurableAddressProviderFactory();

            factory.Config = config;
            IAddressProvider addrProvider = factory.CreateAddressProvider();

            Assert.IsNotNull(addrProvider);

            string addrProviderString = addrProvider.ToString();

            Assert.IsTrue(addrProviderString.Equals("[10.0.0.121:8080,10.0.0.120:80]") ||
                          addrProviderString.Equals("[10.0.0.120:80,10.0.0.121:8080]"));

            Assert.IsInstanceOf(typeof(ConfigurableAddressProvider), addrProvider);
        }
예제 #18
0
        /// <summary>
        /// Get an instance of the specified address provider.
        /// </summary>
        /// <param name="providerName">Name of the provider</param>
        /// <returns>An instance of the specified provider</returns>
        public static IAddressProvider GetAddressProvider(string providerName)
        {
            string           cacheKey        = string.Format("Store{0}AddressProvider", providerName);
            IAddressProvider addressProvider = DataCache.GetCache(cacheKey) as IAddressProvider;

            if (addressProvider == null)
            {
                //Initialize an address provider controller
                ProviderController providerController = new ProviderController(StoreProviderType.Address);

                //Get the provider info
                ProviderInfo providerInfo = providerController.GetProvider(providerName);

                //Create an instance of the provider
                addressProvider = ProviderFactory.CreateProvider(providerInfo) as IAddressProvider;
                if (addressProvider != null)
                {
                    DataCache.SetCache(cacheKey, addressProvider);
                }
            }
            return(addressProvider);
        }
예제 #19
0
        private void InitClusters(IAddressProvider addressProvider)
        {
            if (addressProvider == null)
                throw new ArgumentNullException("addressProvider");

            clusters = new Cluster[Config.KugelmatikWidth * Config.KugelmatikHeight];
            for (int x = 0; x < Config.KugelmatikWidth; x++)
                for (int y = 0; y < Config.KugelmatikHeight; y++)
                    clusters[y * Config.KugelmatikWidth + x] = new Cluster(this, x, y, addressProvider.GetAddress(Config, x, y));
        }
 public AddressProviderTool(IAddressProvider addressProvider)
 {
     searchNameList = LoadSearchNameList("Resources/PolishNameList.txt");
     this.addressProvider = addressProvider;
 }
예제 #21
0
 public Kugelmatik(Config config, ClusterConfig clusterConfig, IAddressProvider addressProvider)
 {
     this.Config = config;
     this.ClusterConfig = clusterConfig;
     InitClusters(addressProvider);
 }
예제 #22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (StoreSettings != null)
            {
                // Read module settings
                _moduleSettings = new ModuleSettings(ModuleId, TabId);
                // Init vars
                _productColumn = _moduleSettings.MainCart.ProductColumn.ToLower();
                if (StoreSettings.CurrencySymbol != string.Empty)
                {
                    _localFormat.CurrencySymbol = StoreSettings.CurrencySymbol;
                }
                _orderDateFormat       = Localization.GetString("OrderDateFormat", LocalResourceFile);
                _customerNav           = new CustomerNavigation(Request.QueryString);
                lblError.Text          = "";     //Initialize the Error Label.
                pnlOrdersError.Visible = false;
                _orderController       = new OrderController();
                _addressProvider       = StoreController.GetAddressProvider(StoreSettings.AddressName);

                CheckUserRoles();

                if (ShowOrdersInStatus && OrderStatusID != Null.NullInteger)
                {
                    plhGrid.Visible = true;
                    plhForm.Visible = false;

                    List <OrderInfo> orders = _orderController.GetOrders(PortalId, OrderStatusID);

                    if (orders.Count > 0)
                    {
                        _orderStatusList     = _orderController.GetOrderStatuses();
                        grdOrders.DataSource = orders;
                        grdOrders.DataBind();
                    }
                    else
                    {
                        lblError.Text          = Localization.GetString("NoOrdersFound", LocalResourceFile);
                        pnlOrdersError.Visible = true;
                        pnlOrders.Visible      = false;
                        grdOrders.DataSource   = null;
                        grdOrders.DataBind();
                    }
                }
                else
                {
                    if (_customerNav.OrderID != Null.NullInteger)
                    {
                        plhGrid.Visible = false;
                        plhForm.Visible = true;

                        if (_customerNav.OrderID != 0 && !IsPostBack)
                        {
                            lblEditTitle.Text = Localization.GetString("ViewDetails", LocalResourceFile);
                            ShowOrderDetails(_customerNav.OrderID);
                        }
                    }
                    else
                    {
                        if (_customerNav.CustomerID == Null.NullInteger)
                        {
                            _customerNav.CustomerID = UserId;
                        }
                        else if (_canManageOrders == false && _customerNav.CustomerID != UserId)
                        {
                            // Someone is trying to steal data
                            pnlOrders.Visible = false;
                            throw new Exception(Localization.GetString("Unexpected.Error", LocalSharedResourceFile));
                        }

                        if (_canManageOrders || StoreSettings.AuthorizeCancel)
                        {
                            grdOrders.Columns[6].Visible = true;
                        }
                        else
                        {
                            grdOrders.Columns[6].Visible = false;
                        }

                        plhGrid.Visible = true;
                        plhForm.Visible = false;
                        DisplayCustomerOrders();
                    }
                }
            }
            else
            {
                pnlOrdersError.Visible = false;
                pnlOrders.Visible      = false;
            }
        }
 public AddressProviderTool(string[] nameList, IAddressProvider addressProvider)
 {
     searchNameList = LoadSearchNameList(nameList);
     this.addressProvider = addressProvider;
 }
예제 #24
0
 public Purchase(ICreditCardPayment creditCardPayment, IAddressProvider addressProvider, IItemCatalog itemCatalog)
 {
     this.creditCardPayment = creditCardPayment;
     this.addressProvider   = addressProvider;
     this.itemCatalog       = itemCatalog;
 }
예제 #25
0
 public AddressDataController(IAddressProvider countriesProvider, ILogger <AddressDataController> logger)
 {
     CountriesProvider = countriesProvider;
     Logger            = logger;
 }
예제 #26
0
 public ZipCodeLookupController(IAddressProvider addressProvider)
 {
     _addressProvider = addressProvider;
 }
예제 #27
0
 public AddressService(Store store)
 {
     _sett     = new StoreSettingsAddressTools(store.Settings);
     _provider = new USPSAddressProvider(_sett.AddressToolsID);
 }
        /// <summary>
        /// Open and return a new Connection.
        /// </summary>
        /// <returns>
        /// A newly opened Connection.
        /// </returns>
        protected override Connection OpenConnection()
        {
            IAddressProvider provider = RemoteAddressProvider;

            Debug.Assert(provider != null);

            // Default value for Coherence is 0, which is an infinite timeout.
            // Default value for .NET IAsyncResult.WaitOne infinite timeout is -1.
            // So, convert the Coherence infinite value to .NET Timeout.Infinite.
            Int32 cMillis = (Int32)ConnectTimeout;

            cMillis = cMillis <= 0 ? Timeout.Infinite : cMillis;

            // open a new connection
            var         addresses    = new StringBuilder().Append('[');
            IEnumerator enmrRedirect = null;
            IEnumerator enmrSubport  = null;
            IPEndPoint  addrNext     = null;
            Int32       subportNext  = -1;
            Exception   cause        = null;

            for ( ; ;)
            {
                var connection = (TcpConnection)InstantiateConnection();

                IPEndPoint addr;
                Int32      subport;
                if (enmrRedirect == null || addrNext == null)
                {
                    addr    = provider.NextAddress;
                    subport = Subport;

                    // reset redirection information
                    enmrRedirect = null;
                    enmrSubport  = null;
                }
                else
                {
                    addr     = addrNext;
                    addrNext = enmrRedirect.MoveNext() ?
                               (IPEndPoint)enmrRedirect.Current : null;

                    subport     = subportNext;
                    subportNext = enmrSubport.MoveNext() ?
                                  (Int32)enmrSubport.Current : -1;

                    // update redirection information
                    connection.IsRedirect = true;
                }

                if (addr == null)
                {
                    break;
                }

                string address = NetworkUtils.ToString(addr, subport);
                if (RemoteAddressProvider is ConfigurableAddressProvider)
                {
                    StreamProvider.RemoteAddress = ((ConfigurableAddressProvider)RemoteAddressProvider).RemoteHostAddress;
                }

                if (addresses.Length > 1)
                {
                    addresses.Append(", ");
                }
                addresses.Append(address);

                // create and configure a new client
                TcpClient client = InstantiateClient();
                try
                {
                    if (enmrRedirect == null)
                    {
                        CacheFactory.Log("Connecting Socket to " + address,
                                         CacheFactory.LogLevel.Debug);
                    }
                    else
                    {
                        CacheFactory.Log("Redirecting Socket to " + address,
                                         CacheFactory.LogLevel.Debug);
                    }

                    IAsyncResult result = client.BeginConnect(addr.Address, addr.Port, null, null);
                    result.AsyncWaitHandle.WaitOne(cMillis);
                    if (!client.Connected)
                    {
                        CacheFactory.Log("Error connecting TcpClient to "
                                         + address + ": connection timeout", CacheFactory.LogLevel.Info);
                        NetworkUtils.Close(client);
                        continue;
                    }

                    CacheFactory.Log("Connected TcpClient to " + address,
                                     CacheFactory.LogLevel.Info);
                    connection.Client = client;
                }
                catch (Exception e)
                {
                    cause = e;
                    CacheFactory.Log("Error connecting TcpClient to "
                                     + address + ": " + e, CacheFactory.LogLevel.Info);

                    NetworkUtils.Close(client);

                    // if we aren't current redirecting, or we've tried the last redirect
                    // address, reject the last address supplied by the address provider
                    if (enmrRedirect == null || addrNext == null)
                    {
                        provider.Reject(e);
                    }
                    continue;
                }

                // write out subport info
                if (subport != -1)
                {
                    bool   secure = connection.IsSecure;
                    Stream stream = connection.Stream = StreamProvider.GetStream(client);
                    if (secure)
                    {
                        Monitor.Enter(stream);
                    }

                    try
                    {
                        NetworkUtils.WriteSubport(stream, subport);
                    }
                    catch (Exception e)
                    {
                        CacheFactory.Log("Error connecting TcpClient to "
                                         + address + ": " + e, CacheFactory.LogLevel.Info);
                        throw new ConnectionException(e);
                    }
                    finally
                    {
                        if (secure)
                        {
                            Monitor.Exit(stream);
                        }
                    }
                }

                try
                {
                    connection.Open();
                }
                catch (Exception e)
                {
                    if (enmrRedirect == null && connection.IsRedirect)
                    {
                        IList list = connection.RedirectList;

                        // create an IPEndPoint list from from the redirect list
                        var listRedirect = new ArrayList(list.Count);
                        var listSubport  = new ArrayList(list.Count);
                        foreach (var o in list)
                        {
                            var ao     = (Object[])o;
                            var s      = (String)ao[0];
                            var port32 = new Port32((Int32)ao[1]);
                            try
                            {
                                listRedirect.Add(new IPEndPoint(NetworkUtils.GetHostAddress(s, ConnectTimeout),
                                                                port32.Baseport));
                                listSubport.Add(port32.Subport);
                            }
                            catch (Exception)
                            {
                                // invalid or unresolvable address
                                CacheFactory.Log("Skipping unresolvable address \"" + s + "\".",
                                                 CacheFactory.LogLevel.Info);
                            }
                        }
                        enmrRedirect = listRedirect.GetEnumerator();
                        enmrSubport  = listSubport.GetEnumerator();
                        if (enmrRedirect.MoveNext() && enmrSubport.MoveNext())
                        {
                            addrNext    = (IPEndPoint)enmrRedirect.Current;
                            subportNext = (Int32)enmrSubport.Current;
                        }
                        else
                        {
                            addrNext    = null;
                            subportNext = -1;
                        }
                    }
                    else
                    {
                        CacheFactory.Log("Error establishing a connection with " + address + ": " + e,
                                         CacheFactory.LogLevel.Info);

                        // if we aren't current redirecting, or we've tried the last redirect
                        // address, reject the last address supplied by the address provider
                        if (enmrRedirect == null || addrNext == null)
                        {
                            provider.Reject(e);
                        }
                    }
                    continue;
                }

                provider.Accept();
                return(connection);
            }
            addresses.Append(']');

            String message = "could not establish a connection "
                             + "to one of the following addresses: " + addresses
                             + "; make sure the \"remote-addresses\" configuration "
                             + "element contains an address and port of a running "
                             + "TcpAcceptor";

            throw cause == null ? new ConnectionException(message)
                    : new ConnectionException(message, cause);
        }
예제 #29
0
 public ManageHostFileModuleService(IAddressProvider addressProvider)
 {
     this.addressProvider = addressProvider;
 }
 public PersonsController(ITerritoryDb db, IAddressProvider addressProvider)
 {
     _db = db;
     _addresProviderTool = new AddressProviderTool(addressProvider);
 }
 public InternalBus(string name, IBusControl busControl, IAddressProvider addressProvider)
 {
     Name                 = name;
     this.busControl      = busControl;
     this.addressProvider = addressProvider;
 }
예제 #32
0
        private void SendOrderStatusChangeEmail(OrderInfo order)
        {
            // Get Store Currency Symbol
            if (!string.IsNullOrEmpty(StoreSettings.CurrencySymbol))
            {
                order.CurrencySymbol = StoreSettings.CurrencySymbol;
            }

            // Get Order Date Format
            string orderDateFormat = Localization.GetString("OrderDateFormat", LocalResourceFile);

            if (!string.IsNullOrEmpty(orderDateFormat))
            {
                order.DateFormat = orderDateFormat;
            }

            // Get Customer Email
            IAddressProvider controler      = StoreController.GetAddressProvider(StoreSettings.AddressName);
            IAddressInfo     billingAddress = controler.GetAddress(order.BillingAddressID);
            string           customerEmail  = billingAddress.Email;

            // Get Admin Email
            string adminEmail = StoreSettings.DefaultEmailAddress;

            // Customer Order Email Template
            string customerSubjectEmail = Localization.GetString("CustomerStatusChangedEmailSubject", LocalResourceFile);
            string customerBodyEmail    = Localization.GetString("CustomerStatusChangedEmailBody", LocalResourceFile);

            // Extract or remove IFPAID token
            Match regPaidMatch = RegPaid.Match(customerBodyEmail);

            if (regPaidMatch.Success)
            {
                // If Status is Paid
                if (order.OrderStatusID == 7)
                {
                    // Replace IFPAID token by his content
                    string paidTemplate = regPaidMatch.Groups[1].ToString();
                    paidTemplate      = RegStripStartNewLine.Replace(paidTemplate, string.Empty);
                    paidTemplate      = RegStripEndNewLine.Replace(paidTemplate, string.Empty);
                    customerBodyEmail = RegPaid.Replace(customerBodyEmail, paidTemplate);
                }
                else // Remove IFPAID token
                {
                    customerBodyEmail = RegPaid.Replace(customerBodyEmail, string.Empty);
                }
            }

            // Admin Order Email Template
            string adminSubjectEmail = Localization.GetString("AdminStatusChangedEmailSubject", LocalResourceFile);
            string adminBodyEmail    = Localization.GetString("AdminStatusChangedEmailBody", LocalResourceFile);

            // Init Email Order Replacement Tokens
            EmailOrderTokenReplace tkEmailOrder = new EmailOrderTokenReplace();

            tkEmailOrder.StoreSettings = StoreSettings;
            tkEmailOrder.Order         = order;

            // Replace tokens
            customerSubjectEmail = tkEmailOrder.ReplaceEmailOrderTokens(customerSubjectEmail);
            customerBodyEmail    = tkEmailOrder.ReplaceEmailOrderTokens(customerBodyEmail);
            adminSubjectEmail    = tkEmailOrder.ReplaceEmailOrderTokens(adminSubjectEmail);
            adminBodyEmail       = tkEmailOrder.ReplaceEmailOrderTokens(adminBodyEmail);

            try
            {
                // Send Customer Email
                string result = Mail.SendMail(adminEmail, customerEmail, "", customerSubjectEmail, customerBodyEmail, "", HtmlUtils.IsHtml(customerBodyEmail) ? MailFormat.Html.ToString() : MailFormat.Text.ToString(), "", "", "", "");
                if (!string.IsNullOrEmpty(result))
                {
                    LogSMTPError(customerEmail, result);
                }

                // Send Store Admin Email
                result = Mail.SendMail(adminEmail, adminEmail, "", adminSubjectEmail, adminBodyEmail, "", HtmlUtils.IsHtml(adminBodyEmail) ? MailFormat.Html.ToString() : MailFormat.Text.ToString(), "", "", "", "");
                if (!string.IsNullOrEmpty(result))
                {
                    LogSMTPError(customerEmail, result);
                }
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }