Beispiel #1
0
        private IList <Role> GetMemberRoles(ActiveMember member, NaccNigDbContext database)
        {
            var userManager = Request.GetOwinContext().GetUserManager <ApplicationUserManager>();

            var roles = database.Roles
                        .Select(r => r.Name)
                        .OrderBy(r => r)
                        .ToList();

            var userRoles = new List <Role>();

            foreach (var roleName in roles)
            {
                var role = new Role {
                    Name = roleName
                };

                if (userManager.IsInRole(member.ActiveMemberId, roleName))
                {
                    role.IsSelected = true;
                }

                userRoles.Add(role);
            }

            return(userRoles);
        }
        public ActionResult Update(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ActiveMember activeMember = db.ActiveMember.Find(id);

            if (activeMember == null)
            {
                return(HttpNotFound());
            }

            var myGender = from Gender s in Enum.GetValues(typeof(Gender))
                           select new { ID = s, Name = s.ToString() };
            var myState = from State s in Enum.GetValues(typeof(State))
                          select new { ID = s, Name = s.ToString() };
            var depState = from StateDeployed s in Enum.GetValues(typeof(StateDeployed))
                           select new { ID = s, Name = s.ToString() };

            ViewBag.Gender            = new SelectList(myGender, "Name", "Name");
            ViewBag.StateOfOrigin     = new SelectList(myState, "Name", "Name");
            ViewBag.StateOfDeployment = new SelectList(depState, "Name", "Name");
            ViewBag.StateList         = new SelectList(StateChapter.GetStateChapters(), "StateChapId", "StateChapterName");
            ViewBag.Zone = new SelectList(Zone.GetZones(), "ZId", "ZoneName");
            return(View(activeMember));
        }
        public async Task <ActionResult> ProfileUpdate(ActiveMember activeMember)
        {
            var userId = User.Identity.GetUserId();

            activeMember.ActiveMemberId = userId;


            if (ModelState.IsValid)
            {
                var fileName  = Path.GetFileNameWithoutExtension(activeMember.ImageFile.FileName);
                var extension = Path.GetExtension(activeMember.ImageFile.FileName);
                fileName           = fileName + DateTime.Now.ToString("yymmssfff") + extension;
                activeMember.Photo = "~/PhotoUpload/ActiveMembers/" + fileName;
                fileName           = Path.Combine(Server.MapPath("~/PhotoUpload/ActiveMembers/"), fileName);
                activeMember.ImageFile.SaveAs(fileName);
                db.ActiveMember.Add(activeMember);
                await db.SaveChangesAsync();

                return(RedirectToAction("Dashboard"));
            }
            var myGender = from Gender s in Enum.GetValues(typeof(Gender))
                           select new { ID = s, Name = s.ToString() };
            var myState = from State s in Enum.GetValues(typeof(State))
                          select new { ID = s, Name = s.ToString() };
            var depState = from StateDeployed s in Enum.GetValues(typeof(StateDeployed))
                           select new { ID = s, Name = s.ToString() };

            ViewBag.Gender            = new SelectList(myGender, "Name", "Name");
            ViewBag.StateOfOrigin     = new SelectList(myState, "Name", "Name");
            ViewBag.StateOfDeployment = new SelectList(depState, "Name", "Name");
            ViewBag.StateList         = new SelectList(StateChapter.GetStateChapters(), "StateChapId", "StateChapterName");
            return(View(activeMember));
        }
        public ActionResult DeleteConfirmed(string id)
        {
            ActiveMember activeMember = db.ActiveMember.Find(id);

            db.ActiveMember.Remove(activeMember);
            db.SaveChanges();
            return(RedirectToAction("ActiveMemberList"));
        }
        // GET: ActiveMembers/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ActiveMember activeMember = db.ActiveMember.Find(id);

            if (activeMember == null)
            {
                return(HttpNotFound());
            }
            return(View(activeMember));
        }
Beispiel #6
0
        public ActionResult ActiveMember()
        {
            ActiveMember active = new ActiveMember();

            active.MembershipTypeItems = new List <MembershipTypeProp>();
            active.MembershipTypeItems.Add(new MembershipTypeProp()
            {
                MembershipType = EnumData.MembershipType.Regular, IsSelected = false
            });
            active.MembershipTypeItems.Add(new MembershipTypeProp()
            {
                MembershipType = EnumData.MembershipType.Life, IsSelected = false
            });
            active.MembershipTypeItems.Add(new MembershipTypeProp()
            {
                MembershipType = EnumData.MembershipType.Student, IsSelected = false
            });
            active.MembershipTypeItems.Add(new MembershipTypeProp()
            {
                MembershipType = EnumData.MembershipType.Honorary, IsSelected = false
            });
            active.MembershipTypeItems.Add(new MembershipTypeProp()
            {
                MembershipType = EnumData.MembershipType.Fellow, IsSelected = false
            });
            active.MembershipTypeItems.Add(new MembershipTypeProp()
            {
                MembershipType = EnumData.MembershipType.All, IsSelected = false
            });

            active.EmploymentSectorItems = new List <EmploymentSectorProp>();
            active.EmploymentSectorItems.Add(new EmploymentSectorProp()
            {
                EmploymentSector = EnumData.EmploymentSector.Government, IsSelected = false
            });
            active.EmploymentSectorItems.Add(new EmploymentSectorProp()
            {
                EmploymentSector = EnumData.EmploymentSector.Private, IsSelected = false
            });
            active.EmploymentSectorItems.Add(new EmploymentSectorProp()
            {
                EmploymentSector = EnumData.EmploymentSector.OCW, IsSelected = false
            });
            active.EmploymentSectorItems.Add(new EmploymentSectorProp()
            {
                EmploymentSector = EnumData.EmploymentSector.Others, IsSelected = false
            });
            active.EmploymentSectorItems.Add(new EmploymentSectorProp()
            {
                EmploymentSector = EnumData.EmploymentSector.All, IsSelected = false
            });

            active.AreaOfPracticeItems = new List <AreaOfPracticeProp>();
            active.AreaOfPracticeItems.Add(new AreaOfPracticeProp()
            {
                AreaOfPractice = EnumData.AreaOfPractice.Construction, IsSelected = false
            });
            active.AreaOfPracticeItems.Add(new AreaOfPracticeProp()
            {
                AreaOfPractice = EnumData.AreaOfPractice.Design, IsSelected = false
            });
            active.AreaOfPracticeItems.Add(new AreaOfPracticeProp()
            {
                AreaOfPractice = EnumData.AreaOfPractice.Academy, IsSelected = false
            });
            active.AreaOfPracticeItems.Add(new AreaOfPracticeProp()
            {
                AreaOfPractice = EnumData.AreaOfPractice.Commercial, IsSelected = false
            });
            active.AreaOfPracticeItems.Add(new AreaOfPracticeProp()
            {
                AreaOfPractice = EnumData.AreaOfPractice.Others, IsSelected = false
            });
            active.AreaOfPracticeItems.Add(new AreaOfPracticeProp()
            {
                AreaOfPractice = EnumData.AreaOfPractice.All, IsSelected = false
            });

            return(View(active));
        }
Beispiel #7
0
        public ActionResult ActiveMember(ActiveMember model)
        {
            var users1 = new List <ApplicationUser>();
            var users2 = new List <ApplicationUser>();
            var users3 = new List <ApplicationUser>();
            var users4 = new List <ApplicationUser>();

            foreach (var user in db.Users)
            {
                if (user.LastActive.Subtract(model.Date).Days > -1 && user.LastActive.Subtract(model.Date).Days < 30)
                {
                    users1.Add(user);
                    Debug.WriteLine(user.LastActive.Subtract(model.Date).Days + " | " + user.Email);
                }
            }

            if (users1.Count() == 0)
            {
                ModelState.AddModelError("NoActive", "No active members found.");
                return(View("ActiveMember", model));
            }

            var selectedTypes = model.MembershipTypeItems.Where(p => p.IsSelected);

            if (selectedTypes.Count() == 0 || selectedTypes.Any(p => p.MembershipType == EnumData.MembershipType.All))
            {
                users2.AddRange(users1);
            }
            else
            {
                foreach (var user in users1)
                {
                    foreach (var type in selectedTypes)
                    {
                        if (user.MembershipInfo.TypeOfMembership == type.MembershipType)
                        {
                            users2.Add(user);
                            break;
                        }
                    }
                }
            }



            var selectedSectors = model.EmploymentSectorItems.Where(p => p.IsSelected);

            if (selectedSectors.Count() == 0 || selectedSectors.Any(p => p.EmploymentSector == EnumData.EmploymentSector.All))
            {
                users3.AddRange(users2);
            }
            else
            {
                foreach (var user in users2)
                {
                    foreach (var sector in selectedSectors)
                    {
                        if (user.Profession.EmploymentSector == sector.EmploymentSector)
                        {
                            users3.Add(user);
                            break;
                        }
                    }
                }
            }



            var selectedPractices = model.AreaOfPracticeItems.Where(p => p.IsSelected);

            if (selectedPractices.Count() == 0 || selectedPractices.Any(p => p.AreaOfPractice == EnumData.AreaOfPractice.All))
            {
                users4.AddRange(users3);
            }
            else
            {
                foreach (var user in users3)
                {
                    foreach (var practice in selectedPractices)
                    {
                        if (user.Profession.AreaOfPractice == practice.AreaOfPractice)
                        {
                            users4.Add(user);
                            break;
                        }
                    }
                }
            }

            if (users4.Count() == 0)
            {
                ModelState.AddModelError("NoActive", "No active members found.");
                return(View("ActiveMember", model));
            }
            TempData["FilteredMembers"] = users4;

            return(RedirectToAction("GenerateActiveMember"));
        }
Beispiel #8
0
        public void UpdatePlayers()
        {
            Parallel.ForEach(ListPlayerConnection, (ActivePlayer, loopState) =>
            {
                if (!ActivePlayer.IsConnected())
                {
                    if (ActivePlayer.HasLeftServer())
                    {
                        ListPlayerToRemove.Add(new KeyValuePair <IOnlineConnection, string>(ActivePlayer, null));
                        Database.RemovePlayer(ActivePlayer);
                    }
                }
                else
                {
                    lock (ActivePlayer.ListAsyncOnlineScript)
                    {
                        foreach (OnlineScript ActiveScript in ActivePlayer.ListAsyncOnlineScript)
                        {
                            ActiveScript.Execute(ActivePlayer);
                        }

                        ActivePlayer.ListAsyncOnlineScript.Clear();
                    }
                }
            });

            while (ListPlayerToRemove.Count > 0)
            {
                DicCommunicationGroup[ListPlayerToRemove[0].Value].ListGroupMember.Remove(ListPlayerToRemove[0].Key);
                DicPlayerInfoByName.Remove(ListPlayerToRemove[0].Key.ID);
                DicPlayerByID.Remove(ListPlayerToRemove[0].Key.ID);
                ListPlayerToRemove.RemoveAt(0);
            }

            Parallel.ForEach(DicCommunicationGroup.Values, (ActiveGroup, loopState) =>
            {
                if (ActiveGroup.IsRunningSlow())
                {
                    //Send Room to another Server
                }

                for (int P = ActiveGroup.ListGroupMember.Count - 1; P >= 0; --P)
                {
                    IOnlineConnection ActivePlayer = ActiveGroup.ListGroupMember[P];

                    if (!ActivePlayer.IsConnected())
                    {
                        if (ActivePlayer.HasLeftServer())
                        {
                            string PlayerID = ActiveGroup.ListGroupMember[P].ID;
                            ActiveGroup.RemoveOnlinePlayer(P);

                            if (ActiveGroup.ListGroupMember.Count == 0)
                            {
                                ListGroupToRemove.Add(ActiveGroup.GroupID);
                            }

                            ActivePlayer.StopReadingScriptAsync();
                        }
                    }
                }
            });

            while (ListGroupToRemove.Count > 0)
            {
                DicCommunicationGroup.Remove(ListGroupToRemove[0]);

                ListGroupToRemove.RemoveAt(0);
            }

            if (DateTimeOffset.Now > NextPlayerUpdateTime)
            {
                NextPlayerUpdateTime = NextPlayerUpdateTime.AddSeconds(10);

                SharedWriteBuffer.ClearWriteBuffer();
                SharedWriteBuffer.WriteScript(new PlayerListScriptServer(GetPlayerNames()));

                Parallel.ForEach(DicCommunicationGroup["Global"].ListGroupMember, (ActiveMember, loopState) =>
                {
                    ActiveMember.SendWriteBuffer();
                });
            }
        }