public ActionResult AddHeistMember(int?heistID) { tblHeist heist = GetHeistByID(heistID); var _skillsList = heist.tblHeistSkills.OrderBy(m => m.HeistID).ToArray(); HeistModel hm = new HeistModel(); //Getting skills hm.HeistSkills = new List <HeistSkillModel>(); for (int i = 0; i < _skillsList.Count(); i++) { HeistSkillModel mod = new HeistSkillModel { HeistID = _skillsList[i].HeistID, SkillID = _skillsList[i].SkillsID, Name = _skillsList[i].Name, Level = _skillsList[i].SkillLevel, MembersNo = (Int16)_skillsList[i].MembersNo }; hm.HeistSkills.Add(mod); } //getting members var _allMembers = GetMatchingMembers(heistID); List <HeistMemberModel> _list = _allMembers.ToList(); hm.HeistMembers = _allMembers as List <HeistMemberModel>; ViewBag.MatchingMembers = new SelectList(_list); return(View()); }
public ActionResult AddHeistMember(HeistMemberModel model) { tblHeist heist = GetHeistByID(model.HeistID); var _skillsList = heist.tblHeistSkills.OrderBy(m => m.HeistID).ToArray(); HeistModel hm = new HeistModel(); //Getting skills hm.HeistSkills = new List <HeistSkillModel>(); for (int i = 0; i < _skillsList.Count(); i++) { HeistSkillModel mod = new HeistSkillModel { HeistID = _skillsList[i].HeistID, SkillID = _skillsList[i].SkillsID, Name = _skillsList[i].Name, Level = _skillsList[i].SkillLevel, MembersNo = (Int16)_skillsList[i].MembersNo }; hm.HeistSkills.Add(mod); } //getting members var _allMembers = GetMatchingMembers(model.HeistID); List <HeistMemberModel> _list = _allMembers.ToList(); hm.HeistMembers = _allMembers as List <HeistMemberModel>; ViewBag.MatchingMembers = new SelectList(_list); tblHeistMembers member = new tblHeistMembers(); member.HeistID = model.HeistID; member.MemberID = Convert.ToInt32(model.Name); member.ActiveInHeist = true; db.tblHeistMembers.Add(member); tblMember mem = new tblMember(); mem = db.tblMember.SingleOrDefault(m => m.MemberID == member.MemberID); mem.ActiveInHeist = true; db.SaveChanges(); return(RedirectToAction("Details", "Heist", new { @id = model.HeistID })); }
public List <HeistSkillModel> GetHeistSkills(int?heistID) { tblHeist heist = GetHeistByID(heistID); List <tblHeistSkills> heistSkills = heist.tblHeistSkills.OrderBy(m => m.HeistID).ToList(); List <HeistSkillModel> hsm = new List <HeistSkillModel>(); for (int i = 0; i < heistSkills.Count(); i++) { HeistSkillModel mod = new HeistSkillModel(); mod.SkillID = heistSkills[i].SkillsID; mod.Name = heistSkills[i].Name; mod.Level = heistSkills[i].SkillLevel; mod.MembersNo = (Int16)heistSkills[i].MembersNo; hsm.Add(mod); } return(hsm); }
public List <HeistMemberModel> GetMatchingMembers(int?heistID) { tblHeist heist = GetHeistByID(heistID); var _skillsList = heist.tblHeistSkills.OrderBy(m => m.HeistID).ToArray(); HeistModel hm = new HeistModel(); hm.HeistID = heist.HeistID; //Setting skills hm.HeistSkills = new List <HeistSkillModel>(); for (int i = 0; i < _skillsList.Count(); i++) { HeistSkillModel mod = new HeistSkillModel { HeistID = _skillsList[i].HeistID, SkillID = _skillsList[i].SkillsID, Name = _skillsList[i].Name, Level = _skillsList[i].SkillLevel, MembersNo = (Int16)_skillsList[i].MembersNo }; hm.HeistSkills.Add(mod); } //Setting members List <HeistMemberModel> matchingMembers = new List <HeistMemberModel>(); var _allMembers = db.tblMember.Where(m => m.ActiveInHeist != true).ToArray(); hm.HeistMembers = new List <HeistMemberModel>(); for (int i = 0; i < hm.HeistSkills.Count(); i++) //iterating skills determined for heist { for (int j = 0; j < _allMembers.Count(); j++) //iterating predetermined members { var temp = _allMembers[j].MemberID; List <tblMemberSkills> memberSkills = db.tblMemberSkills.Where(m => m.MemberID == temp).ToList(); //getting each member's skills for (int m = 0; m < memberSkills.Count(); m++) { if (hm.HeistSkills[i].Name == memberSkills[m].Name && hm.HeistSkills[i].Level.Length <= memberSkills[m].SkillLevel.Length) //matching heist skills to member's skills { HeistMemberModel member = new HeistMemberModel(); member.HeistID = heist.HeistID; member.MemberID = _allMembers[j].MemberID; member.Name = _allMembers[j].Name; bool contains = false; for (int k = 0; k < matchingMembers.Count(); k++) { if (matchingMembers[k].Name == member.Name) { contains = true; } } if (contains != true) { matchingMembers.Add(member); } } } } } return(matchingMembers); }