Ejemplo n.º 1
0
        /// <summary>
        /// Method will load IP addresses from the database if required.
        /// This method should be called before doing anything with the
        /// private IP collections.
        /// </summary>
        private static void LoadVirtualMtas()
        {
            if (_vmtaCollection != null &&
                _lastGotVirtualMtas.AddMinutes(MtaParameters.MTA_CACHE_MINUTES) > DateTime.UtcNow)
            {
                return;
            }

            _outboundMtas   = null;
            _inboundMtas    = null;
            _vmtaCollection = VirtualMtaDB.GetVirtualMtas();
        }
Ejemplo n.º 2
0
        //
        // GET: /VirtualMta/
        public ActionResult Index()
        {
            var ips      = VirtualMtaDB.GetVirtualMtas();
            var summary  = new List <VirtualMTASummary>();
            var ipGroups = VirtualMtaWebManager.GetAllVirtualMtaGroups();

            foreach (var address in ips)
            {
                summary.Add(new VirtualMTASummary
                {
                    IpAddress = address,
                    SendTransactionSummaryCollection = OpenManta.WebLib.DAL.VirtualMtaTransactionDB.GetSendSummaryForIpAddress(address.ID)
                });
            }
            return(View(new VirtualMtaPageModel {
                VirtualMTASummaryCollection = summary.ToArray(), IpGroups = ipGroups
            }));
        }
Ejemplo n.º 3
0
        //
        // GET: /VirtualMta/EditGroup
        public ActionResult EditGroup(int id = WebInterfaceParameters.VIRTUALMTAGROUP_NEW_ID)
        {
            VirtualMtaGroup grp = null;

            if (id == WebInterfaceParameters.VIRTUALMTAGROUP_NEW_ID)
            {
                grp = new VirtualMtaGroup();
            }
            else
            {
                grp = VirtualMtaWebManager.GetVirtualMtaGroup(id);
            }

            return(View(new VirtualMtaGroupCreateEditModel
            {
                VirtualMtaGroup = grp,
                VirtualMTACollection = VirtualMtaDB.GetVirtualMtas()
            }));
        }
Ejemplo n.º 4
0
        //
        // GET: /OutboundRules/Edit?id=
        public ActionResult Edit(int id = WebInterfaceParameters.OUTBOUND_RULES_NEW_PATTERN_ID)
        {
            OutboundMxPattern    pattern = null;
            IList <OutboundRule> rules   = null;

            if (id != WebInterfaceParameters.OUTBOUND_RULES_NEW_PATTERN_ID)
            {
                pattern = OutboundRuleDB.GetOutboundRulePatterns().Single(p => p.ID == id);
                rules   = OutboundRuleDB.GetOutboundRules().Where(r => r.OutboundMxPatternID == id).ToList();
            }
            else
            {
                pattern = new OutboundMxPattern();
                rules   = OutboundRuleDB.GetOutboundRules().Where(r => r.OutboundMxPatternID == MtaParameters.OUTBOUND_RULES_DEFAULT_PATTERN_ID).ToList();
            }


            IList <VirtualMTA> vMtas = VirtualMtaDB.GetVirtualMtas();

            return(View(new OutboundRuleModel(rules, pattern, vMtas)));
        }
Ejemplo n.º 5
0
        public bool SaveGroup(SaveVirtualMtaGroupViewModel viewModel)
        {
            VirtualMtaGroup grp = null;

            if (viewModel.Id == WebInterfaceParameters.VIRTUALMTAGROUP_NEW_ID)
            {
                grp = new VirtualMtaGroup();
            }
            else
            {
                grp = VirtualMtaGroupDB.GetVirtualMtaGroup(viewModel.Id);
            }

            if (grp == null)
            {
                return(false);
            }

            grp.Name        = viewModel.Name;
            grp.Description = viewModel.Description;

            var vMtas = VirtualMtaDB.GetVirtualMtas();

            for (int i = 0; i < viewModel.MtaIDs.Length; i++)
            {
                VirtualMTA mta = vMtas.SingleOrDefault(m => m.ID == viewModel.MtaIDs[i]);
                if (mta == null)
                {
                    return(false);
                }
                grp.VirtualMtaCollection.Add(mta);
            }

            VirtualMtaWebManager.Save(grp);
            return(true);
        }