public ActionResult Create(HeistModel model) { try { tblHeist heist = new tblHeist(); { heist.Name = model?.Name ?? null; heist.Location = model?.Location ?? null; heist.StartDate = model.StartDate; heist.StartTime = model.StartTime; heist.EndDate = model.EndDate; heist.EndTime = model.EndTime; heist.Active = false; } db.tblHeist.Add(heist); db.SaveChanges(); List <tblHeist> heists = new List <tblHeist>(); heists = db.tblHeist.Where(m => m.Active == false).ToList(); return(View("Index", heists)); } catch { return(View("Create", model)); } }
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 Edit(tblHeist model) { try { tblHeist heist = GetHeistByID(model.HeistID); heist.Name = model?.Name ?? null; heist.Location = model?.Location ?? null; heist.StartDate = model.StartDate; heist.StartTime = model.StartTime; heist.EndDate = model.EndDate; heist.EndTime = model.EndTime; heist.Active = model.Active; db.SaveChanges(); List <tblHeist> heists = new List <tblHeist>(); heists = db.tblHeist.Where(m => m.Active == false).ToList(); return(View("Index", heists)); } catch { return(View("Edit", db.tblHeist.Where(m => m.HeistID == model.HeistID))); } }
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 ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tblHeist heist = GetHeistByID(id); if (heist == null) { return(HttpNotFound()); } return(View(heist)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.HeistID = id; var totall = db.tblHeistSkills.Where(m => m.HeistID == id).ToArray(); int total = 0; foreach (tblHeistSkills item in totall) { total += (Int32)item.MembersNo; } ViewBag.MembersRequiredTotal = total; ViewBag.MembersAssignedTotal = db.tblHeistMembers.Where(m => m.HeistID == id).Count(); tblHeist heist = GetHeistByID(id); var _skillsList = heist.tblHeistSkills.OrderBy(m => m.HeistID).ToArray(); HeistModel hm = new HeistModel(); hm.HeistID = heist.HeistID; hm.Name = heist.Name; hm.Location = heist.Location; hm.StartDate = heist.StartDate; hm.StartTime = heist.StartTime; hm.EndDate = heist.EndDate; hm.EndTime = heist.EndTime; //Setting skills hm.HeistSkills = GetHeistSkills(id); //Setting members var _allMembers = db.tblHeistMembers.ToArray(); hm.HeistMembers = GetHeistMembers(id); return(View(hm)); }
public bool HeistExists(tblHeist model) { bool result = false; List <tblHeist> heists = new List <tblHeist>(); heists = db.tblHeist.Where(m => m.Active == false).ToList(); for (int i = 0; i < heists.Count(); i++) { if (model.Name.ToUpper() == heists[i].Name.ToUpper() && model.Location.ToUpper() == heists[i].Location.ToUpper() && model.StartDate == heists[i].StartDate && model.EndDate == heists[i].EndDate && model.StartTime == heists[i].StartTime && model.EndTime == heists[i].EndTime) { result = true; } } return(result); }
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 ActionResult DeleteConfirmed(int?id) { try { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tblHeist heist = GetHeistByID(id); db.tblHeist.Remove(heist); db.SaveChanges(); List <tblHeist> heists = new List <tblHeist>(); heists = db.tblHeist.Where(m => m.Active == false).ToList(); return(View("Index", heists)); } catch { return(View("Delete", db.tblHeist.Where(m => m.HeistID == id))); } }
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); }
public tblHeist GetHeistByID(int?id) { tblHeist heist = db.tblHeist.SingleOrDefault(m => m.HeistID == id); return(heist); }
public ActionResult Activation(tblHeist model) { if (model.Name == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } int heistID = Convert.ToInt32(model.Name); tblHeist heist = db.tblHeist.SingleOrDefault(m => m.HeistID == heistID); if (heist == null) { return(HttpNotFound()); } heist.Active = true; //check members numbers (required & assigned) var totall = db.tblHeistSkills.Where(m => m.HeistID == heist.HeistID).ToArray(); int required = 0; ResultModel rm = new ResultModel(); foreach (tblHeistSkills item in totall) { required += (Int32)item.MembersNo; } int assigned = db.tblHeistMembers.Where(m => m.HeistID == heist.HeistID).Count(); if (assigned == 0) { TempData["ErrorMessage"] = "Not enough members have been assigned!"; return(RedirectToAction("Error", "Start")); } if (assigned < required) { TempData["ErrorMessage"] = "Not enough members have been assigned!"; return(RedirectToAction("Error", "Start")); } else { //getting status for members var random = new Random(); var list = new List <string> { "EXPIRED", "INCARCERATED", "SURVIVED" }; var members = db.tblHeistMembers.Where(m => m.HeistID == heist.HeistID); int indexx = 0; foreach (tblHeistMembers member in members) { indexx = random.Next(list.Count); member.Status = list[indexx]; } rm = GetHeistResult(members.ToList()); } heist.Active = false; db.SaveChanges(); return(View("HeistResult", rm)); }