コード例 #1
0
        // GET: Store/Create
        public ActionResult Create()
        {
            var selectList = from region in db.region
                             select new { regionID = region.regionID, regionColor = region.colors.colorName };

            ViewBag.relay = new { regionID = new SelectList(selectList, "regionID", "regionColor") };
            RelayModel relayModel = new RelayModel();

            relayModel.checkboxRelayModel = GetCheckboxRelays(db.region.First().regionID);
            relayModel.checkboxStoreModel = GetCheckboxStores(db.region.First().regionID);
            return(View(relayModel));
        }
コード例 #2
0
        public ActionResult Create(RelayModel relayModel)
        {
            if (!relayIPOkay(relayModel.relay))
            {
                ModelState.AddModelError("relay.relayIP", "IP already exists");
            }

            if (relayModel.checkboxRelayModel.Where(x => x.selected).Count() <= 0)
            {
                ModelState.AddModelError("", "Must select at least one relay connection");
            }
            if (relayModel.checkboxStoreModel.Where(x => x.selected).Count() <= 0)
            {
                if (relayModel.checkboxRelayModel.Where(x => x.selected).Count() <= 1)
                {
                    ModelState.AddModelError("", "Incorrect number of connections");
                }
            }
            if (ModelState.IsValid)
            {
                db.relay.Add(relayModel.relay);

                db.SaveChanges();

                var selectedRelays = relayModel.checkboxRelayModel.Where(x => x.selected);
                foreach (var selectedRelay in selectedRelays)
                {
                    connections connection = new connections()
                    {
                        relayID     = relayModel.relay.relayID,
                        destRelayID = selectedRelay.relayID,
                        isActive    = true,
                        weight      = selectedRelay.weight
                    };

                    db.connections.Add(connection);
                }

                var selectedStores = relayModel.checkboxStoreModel.Where(x => x.selected);
                foreach (var selectedStore in selectedStores)
                {
                    connections connection2 = new connections()
                    {
                        storeID     = selectedStore.storeID,
                        destRelayID = relayModel.relay.relayID,
                        isActive    = true,
                        weight      = selectedStore.weight
                    };

                    db.connections.Add(connection2);
                }

                db.SaveChanges();

                return(RedirectToAction("Index", "Relay"));
            }


            //relayModel.checkboxRelayModel = GetCheckboxRelays(relayModel.relay.regionID);
            //relayModel.checkboxStoreModel = GetCheckboxStores(relayModel.relay.regionID);

            var selectList = from region in db.region
                             select new { regionID = region.regionID, regionColor = region.colors.colorName };


            ViewBag.relay = new { regionID = new SelectList(selectList, "regionID", "regionColor") };

            return(View(relayModel));
        }