/// <summary> /// Checks if teammate already exists with "Deleted" status. /// If true, sets status "Active" and saving changes. /// If false, set status "Active" to the new teammate and saving changes. /// </summary> /// <param name="teamMate"></param> public void AddTeamMateSave(TeamMate teamMate) { teamMate.MateStatus = TeamMateStatus.Active; db.TeamMates.Add(teamMate); db.SaveChanges(); }
public void ChangeTeamMateButtonFace(TeamMate teamMate, TeamMateMood mood) { int index = (int)teamMate.TMClass; TeamMateButton tmb = teamMateButtons[index] as TeamMateButton; tmb.SetButtonImageFromMood(mood); }
public ActionResult UserControls(string email, string userId, Guid projectId, string userControl) { if (!String.IsNullOrEmpty(email)) { if (userControl == "Delete") { Project project = projectControl.GetProjectById(projectId); if (project.CreatorEmail != email) { mateControl.DeleteTeamMate(email, projectId); } } if (userControl == "Add") { TeamMate teamMateFind = projectControl.GetMateProject(projectId, email); if (teamMateFind == null) { Guid.TryParse(userId, out Guid userIdGuid); TeamMate teamMate = mateControl.CreateMate(email, projectId, userIdGuid); mateControl.AddTeamMateSave(teamMate); } else if (teamMateFind.MateStatus == TeamMateStatus.Deleted) { mateControl.UpdateMateStatus(teamMateFind, TeamMateStatus.Active); } } } return(RedirectToAction("Info", new { id = projectId })); }
public TeamMate CreateMate(string email, Guid projectId, Guid userId) { TeamMate teamMate = new TeamMate() { Email = email, ProjectID = projectId, UserID = userId }; return(teamMate); }
public void ResetPlayers() { m_display = new TeamDisplay(this); MainPlayer.StateManager.ChangeState(0); MainPlayer.SetLocalAnimation(0, 0); MainPlayer.PlayerControl = PlayerControl.NoControl; MainPlayer.Life = MainPlayer.Constants.MaximumLife; MainPlayer.Power = 0; MainPlayer.SoundManager.Stop(); MainPlayer.JugglePoints = MainPlayer.Constants.AirJuggle; if (Side == TeamSide.Left) { MainPlayer.CurrentLocation = Engine.Stage.P1Start; MainPlayer.CurrentFacing = Engine.Stage.P1Facing; if (TeamMate != null) { TeamMate.CurrentLocation = Engine.Stage.P3Start; TeamMate.CurrentFacing = Engine.Stage.P3Facing; } } else { MainPlayer.CurrentLocation = Engine.Stage.P2Start; MainPlayer.CurrentFacing = Engine.Stage.P2Facing; if (TeamMate != null) { TeamMate.CurrentLocation = Engine.Stage.P4Start; TeamMate.CurrentFacing = Engine.Stage.P4Facing; } } if (TeamMate != null) { TeamMate.StateManager.ChangeState(0); TeamMate.SetLocalAnimation(0, 0); TeamMate.PlayerControl = PlayerControl.NoControl; TeamMate.Life = TeamMate.Constants.MaximumLife; TeamMate.Power = 0; TeamMate.SoundManager.Stop(); TeamMate.JugglePoints = TeamMate.Constants.AirJuggle; if (Side == TeamSide.Left) { MainPlayer.CurrentLocation = Engine.Stage.P1Start; MainPlayer.CurrentFacing = Engine.Stage.P1Facing; } else { MainPlayer.CurrentLocation = Engine.Stage.P2Start; MainPlayer.CurrentFacing = Engine.Stage.P2Facing; } } }
public bool DeleteTeamMate(string email, Guid projectId) { TeamMate teamMateFind = db.Projects.Where(a => a.ProjectID == projectId).SelectMany(a => a.TeamMates).Where(a => a.Email == email).SingleOrDefault(); if (teamMateFind != null) { teamMateFind.MateStatus = TeamMateStatus.Deleted; db.Entry(teamMateFind).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(true); } return(false); }
public ActionResult Create(Project project) { if (ModelState.IsValid) { Guid.TryParse(User.Identity.GetUserId(), out Guid userId); project.CreatorEmail = User.Identity.Name; projectControl.AddProject(project); projectControl.SaveChanges(); TeamMate teamMate = mateControl.CreateMate(User.Identity.Name, project.ProjectID, userId); mateControl.AddTeamMateSave(teamMate); } return(RedirectToAction("Index", "Project")); }
/// <summary> /// Checks if user is teammate of the project and set new status if teammate status is not equal to new status. /// </summary> /// <param name="teamMate">Teammate object</param> /// <param name="setStatus">enum TeamMateStatus</param> /// <returns> /// Set status and true if teammate status not equal to set status. /// False if user is not in project or old status and new status are equal. /// </returns> public bool UpdateMateStatus(TeamMate teamMate, TeamMateStatus setStatus) { if (IsUserTeamMate(teamMate.ProjectID, teamMate.Email)) { if (teamMate.MateStatus != setStatus) { var tm = db.TeamMates.FirstOrDefault(a => a.TeamMateID == teamMate.TeamMateID); tm.MateStatus = setStatus; db.SaveChanges(); return(true); } } return(false); }
public override void InitButton(int index) { SetHealth(teamMate.MaxHP); teamMateClass = (TeamMateClass)index; SetButtonImageFromMood(TeamMateMood.NEUTRAL); teamMate.OnHealthChanged += SetHealth; teamMate.OnMoodChanged += SetMoodIconFromMoodValue; extaticMoodThreshold = (int)(teamMate.BiggestMood); happyMoodThreshold = (int)(teamMate.BiggestMood * 0.70f); neutralMoodThreshold = (int)(teamMate.BiggestMood * 0.50f); angryMoodThreshold = (int)(teamMate.BiggestMood * 0.30f); SetMoodIconFromMoodValue(teamMate.BiggestMood); border.color = TeamMate.GetTeamMateColor(teamMateClass); border.gameObject.SetActive(true); }
public void RemoveTeamMate(TeamMate tm) { //set current tasks(assigned and executing) status of this user to created(remove assigning) and remove responsible user Database.Tasks.Where( t => t.ProjectId == tm.ProjectId && t.ResponsibleId == tm.UserId && (t.StatusValue == (int)TaskStatus.Assigned || t.StatusValue == (int)TaskStatus.Executing)) .ToList().ForEach(t => { t.Status = TaskStatus.Created; t.ResponsibleId = null; }); Database.ObjectContext.DeleteObject( Database.TeamMates.FirstOrDefault(t => t.UserId == tm.UserId && t.ProjectId == tm.ProjectId)); Database.SaveChanges(); }
private void SelectTarget() { // figure out which targets are alive viableTargets.Clear(); // resets viable targets for (int i = 0; i < totalPartyMembers; i++) { if (gc.TeamMates[i].IsAlive && gc.TeamMates[i].IsOnline) { // add party member to viable targets list viableTargets.Add(gc.TeamMates[i]); //viableTargets[viableTargets.Count-1] = gc.TeamMates[i].gameObject; } } //choose a random target among those alive currentTarget = viableTargets[Random.Range(0, viableTargets.Count)]; Debug.Log("Targeted Party Member: " + currentTarget.ToString()); }
public ActionResult Create(Ticket ticket, string MateEmail) { #region addModelErrors if (ModelState.IsValidField(nameof(ticket.DeadLine)) && DateTime.Now.Date > ticket.DeadLine) { ModelState.AddModelError(nameof(ticket.DeadLine), "Date cannot be earlier than today"); } if (ModelState.IsValidField(nameof(ticket.DeadLine)) && ticket.DeadLine > DateTime.Now.AddMonths(1)) { ModelState.AddModelError(nameof(ticket.DeadLine), "Date must be less than one month"); } #endregion if (ModelState.IsValid) { // Find team mate in project with email. TeamMate teamMate = projectControl.GetMateProject(ticket.ProjectID, MateEmail); if (teamMate != null) { if (ticket.ProjectID == teamMate.ProjectID) { ticket.TeamMateID = teamMate.TeamMateID; ticket.TeamMateEmail = MateEmail; ticket.CompleteTime = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc); ticketControl.AddTicketSave(ticket); return(RedirectToAction("Info", "Project", new { id = ticket.ProjectID })); } } return(View("~/Views/Shared/Error.cshtml")); } return(View(ticket)); }
public ActionResult TeamMate(TeamMate tm, string action) { var ps = new ProjectService(); if (!ps.IsUserAllowedToDo(tm.ProjectId, SessionStorage.User.Id, ProjectAction.EditTeam)) { return(RedirectToAction("Index", "Home")); } if (action == "update") { ps.UpdateTeamMate(tm); this.SetTempMessage(Resources.Global_ChangesSaved, "success"); } if (action == "remove") { ps.RemoveTeamMate(tm); this.SetTempMessage(Resources.Project_Team_UserRemoved, "success"); } return(RedirectToAction("Team", new { id = tm.ProjectId })); }
/// <summary> /// Gets the user object from project. /// </summary> /// <param name="projectId"></param> /// <param name="userEmail"></param> /// <returns>The TeamMate object if such user is in the project. /// The null if there is no such user. /// </returns> public TeamMate GetMateProject(Guid projectId, string userEmail) { TeamMate teamMateFind = db.Projects.Include(a => a.TeamMates).SelectMany(a => a.TeamMates).FirstOrDefault(a => a.ProjectID == projectId && a.Email == userEmail); return(teamMateFind); }
public void UpdateTeamMate(TeamMate tm) { Database.ObjectContext.ApplyCurrentValues("TeamMates", tm); Database.SaveChanges(); }
public void SetChatColor() { TextColor = TeamMate.GetTeamMateColor(SenderClass); }