public ActionResult Index(RolesIndexVM model) { if (AuthenticationManager.LoggedUser == null) { return(RedirectToAction("Login", "Home")); } model.Pager = model.Pager ?? new PagerVM(); model.Pager.Page = model.Pager.Page <= 0 ? 1 : model.Pager.Page; model.Pager.ItemsPerPage = model.Pager.ItemsPerPage <= 0 ? 10 : model.Pager.ItemsPerPage; model.FilterVm = model.FilterVm ?? new RolesFilterVM(); bool emptyName = string.IsNullOrWhiteSpace(model.FilterVm.Name); OvmDbContext context = new OvmDbContext(); IQueryable <Role> query = context.Roles.Where(r => emptyName || r.Name.Contains(model.FilterVm.Name)); model.Pager.PagesCount = (int)Math.Ceiling(query.Count() / (double)model.Pager.ItemsPerPage); query = query.OrderBy(r => r.Id).Skip((model.Pager.Page - 1) * model.Pager.ItemsPerPage).Take(model.Pager.ItemsPerPage); model.Items = query.Select(r => new RolesVM { Id = r.Id, Name = r.Name, AssignedUsersCount = r.Users.Count }).ToList(); context.Dispose(); return(View(model)); }
public ActionResult Details(int id) { OvmDbContext context = new OvmDbContext(); Team team = context.Teams.Find(id); TeamsDetailsVM model = new TeamsDetailsVM { Id = id, Name = team.Name, Project = team.Project == null ? null : new ProjectsPair { Name = team.Project.Name, Id = team.Project.Id }, Developers = team.Developers.Select(u => new UsersVM { Id = u.Id, Username = u.Username, RoleName = u.Role.Name, FirstName = u.FirstName, LastName = u.LastName, }).ToList(), TeamLead = team.TeamLead != null ? new UsersPair { Id = team.TeamLead.Id, Username = team.TeamLead.Username } : null }; return(View(model)); }
public ActionResult Edit(int?id) { UsersEditVM item; if (id == null) { item = new UsersEditVM(); } else { User user = this._userRepository.GetOne(id.Value); item = new UsersEditVM { Id = id.Value, FirstName = user.FirstName, LastName = user.LastName, Username = user.Username, Password = user.Password, RoleId = user.RoleId, }; } OvmDbContext context = new OvmDbContext(); item.Roles = context.Roles.Select(r => new RolesPair { Name = r.Name, Id = r.Id }).ToList(); context.Dispose(); return(View(item)); }
public ActionResult Edit(TeamsEditVM model) { if (!ModelState.IsValid) { return(View(model)); } OvmDbContext context = new OvmDbContext(); Team team = new Team(); team.Id = model.Id; team.Name = model.Name; if (model.ProjectId != 0) { team.ProjectId = model.ProjectId; } context.Teams.AddOrUpdate(t => t.Id, team); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult Edit(int?id) { TeamsEditVM item; OvmDbContext context = new OvmDbContext(); if (id == null) { item = new TeamsEditVM(); } else { Team team = context.Teams.Find(id.Value); item = new TeamsEditVM { Id = id.Value, Name = team.Name, ProjectId = team.ProjectId ?? 0 }; } item.Projects = context.Projects.Select(p => new ProjectsPair { Name = p.Name, Id = p.Id }).ToList(); context.Dispose(); return(View(item)); }
public ActionResult Edit(int?id) { ProjectsEditVM model; if (id == null) { model = new ProjectsEditVM(); } else { OvmDbContext context = new OvmDbContext(); Project project = context.Projects.Find(id.Value); model = new ProjectsEditVM { Id = id.Value, Name = project.Name, Description = project.Description }; context.Dispose(); } return(View(model)); }
public ActionResult DownloadAttachment(int id) { OvmDbContext context = new OvmDbContext(); SickTimeOff sto = context.SickTimeOffs.Find(id); string attachmentPath = sto.AttachmentPath; return(File(attachmentPath, System.Net.Mime.MediaTypeNames.Application.Octet, Path.GetFileName(attachmentPath))); }
public ActionResult DeleteUnpaid(int id) { OvmDbContext context = new OvmDbContext(); UnpaidTimeOff pto = context.UnpaidTimeOffs.Find(id); context.UnpaidTimeOffs.Remove(pto); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult ApproveSick(int id) { OvmDbContext context = new OvmDbContext(); SickTimeOff sto = context.SickTimeOffs.Find(id); sto.IsApproved = true; context.SaveChanges(); context.Dispose(); return(RedirectToAction("AllRequests")); }
public ActionResult AssignTeam(ProjectsAssignVM model) { OvmDbContext context = new OvmDbContext(); Team team = context.Teams.Find(model.TeamId); team.ProjectId = model.ProjectId; context.SaveChanges(); context.Dispose(); return(RedirectToAction("Details", "Projects", new { Id = model.ProjectId })); }
public ActionResult DeleteSick(int id) { OvmDbContext context = new OvmDbContext(); SickTimeOff sto = context.SickTimeOffs.Find(id); StorageService.DeleteFile(sto.AttachmentPath); context.SickTimeOffs.Remove(sto); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult AssignDeveloper(TeamsAssignVM model) { OvmDbContext context = new OvmDbContext(); User user = context.Users.Find(model.UserId); user.TeamId = model.Id; context.SaveChanges(); context.Dispose(); return(RedirectToAction("Details", "Teams", new { Id = model.Id })); }
public ActionResult Delete(int id) { OvmDbContext context = new OvmDbContext(); Project project = context.Projects.Find(id); project.Teams.Clear(); context.Projects.Remove(project); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult RemoveDeveloper(int teamId, int id) { OvmDbContext context = new OvmDbContext(); User user = context.Users.Find(id); user.TeamId = null; user.Team = null; context.SaveChanges(); context.Dispose(); return(RedirectToAction("Details", "Teams", new { Id = teamId })); }
public ActionResult RemoveProject(int id) { OvmDbContext context = new OvmDbContext(); Team team = context.Teams.Find(id); team.Project = null; team.ProjectId = null; context.SaveChanges(); context.Dispose(); return(RedirectToAction("Details", "Teams", new { Id = id })); }
public ActionResult AssignTeamLead(TeamsAssignVM model) { OvmDbContext context = new OvmDbContext(); Team team = context.Teams.Find(model.Id); team.TeamLeadId = model.UserId; context.SaveChanges(); context.Dispose(); return(RedirectToAction("Details", "Teams", new { Id = model.Id })); }
public ActionResult Delete(int id) { OvmDbContext context = new OvmDbContext(); Team team = context.Teams.Find(id); team.Developers.Clear(); context.Teams.Remove(team); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult AssignDeveloper(int id) { OvmDbContext context = new OvmDbContext(); TeamsAssignVM model = new TeamsAssignVM { Users = context.Users.Where(u => u.Role.Name == "Developer" && u.Team == null).Select(u => new UsersPair() { Id = u.Id, Username = u.Username }).ToList() }; context.Dispose(); return(View(model)); }
public ActionResult Assign(int id) { OvmDbContext context = new OvmDbContext(); UsersAssignVM model = new UsersAssignVM { Id = id, Teams = context.Teams.Select(t => new TeamsPair { Name = t.Name, Id = t.Id }).ToList() }; context.Dispose(); return(View(model)); }
public ActionResult Edit(RolesEditVM model) { OvmDbContext context = new OvmDbContext(); Role role = new Role { Id = model.Id, Name = model.Name }; context.Roles.AddOrUpdate(u => u.Id, role); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult AssignTeamLead(int id) { OvmDbContext context = new OvmDbContext(); TeamsAssignVM model = new TeamsAssignVM { Id = id, Users = context.Users.Where(u => u.Role.Name == "Team Lead" && u.LedTeams.FirstOrDefault(t => t.Id == id) == null) .Select(u => new UsersPair { Id = u.Id, Username = u.Username }) .ToList() }; context.Dispose(); return(View(model)); }
public ActionResult Delete(int id) { OvmDbContext context = new OvmDbContext(); Role role = context.Roles.Find(id); Role unassignedRole = context.Roles.FirstOrDefault(r => r.Name == "Unassigned"); foreach (User assignedUser in role.Users) { assignedUser.Role = unassignedRole ?? new Role("Unassigned"); } context.Roles.Remove(role); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }
public ActionResult AssignTeam(int id) { OvmDbContext context = new OvmDbContext(); ProjectsAssignVM model = new ProjectsAssignVM { TeamId = id, Teams = context.Teams.Where(t => t.Project == null) .Select(t => new TeamsPair { Id = t.Id, Name = t.Name }).ToList(), ProjectId = id }; context.Dispose(); return(View(model)); }
public ActionResult EditSick(int?id) { SickTimeOffsEditVM model = new SickTimeOffsEditVM(); OvmDbContext context = new OvmDbContext(); if (id != null) { SickTimeOff pto = context.SickTimeOffs.Find(id.Value); model.To = pto.To; model.From = pto.From; model.Id = pto.Id; model.AttachmentPath = pto.AttachmentPath; } context.Dispose(); return(View(model)); }
public ActionResult EditUnpaid(int?id) { UnpaidTimeOffsEditVM model = new UnpaidTimeOffsEditVM(); OvmDbContext context = new OvmDbContext(); if (id != null) { UnpaidTimeOff pto = context.UnpaidTimeOffs.Find(id.Value); model.To = pto.To; model.From = pto.From; model.IsHalfDay = pto.IsHalfDay; model.Id = pto.Id; } context.Dispose(); return(View(model)); }
public ActionResult DetailsSick(int id) { OvmDbContext context = new OvmDbContext(); SickTimeOff sto = context.SickTimeOffs.Find(id); SickTimeOffsDetailsVM model = new SickTimeOffsDetailsVM { Id = sto.Id, From = sto.From, To = sto.To, IsApproved = sto.IsApproved, LastChangedOn = sto.CreatedOn, }; context.Dispose(); return(View(model)); }
public static void Seed(OvmDbContext context) { context.Teams.Add(new Team { Name = "BDE Team" }); context.Projects.Add(new Project { Name = "BDE Project", Description = "Initial project" }); context.Users.Add(new User { FirstName = "CEO", LastName = "CEO", Password = "******", Username = "******", Role = new Role("CEO"), }); context.Users.Add(new User() { FirstName = "Dev", LastName = "Dev", Username = "******", Password = "******", Role = new Role("Developer") }); context.Users.Add(new User() { FirstName = "Team", LastName = "Lead", Username = "******", Password = "******", Role = new Role("Team Lead") }); context.Roles.Add(new Role("Unassigned")); context.SaveChanges(); }
public ActionResult Details(int id) { OvmDbContext context = new OvmDbContext(); Role role = context.Roles.Find(id); RolesDetailsVM model = new RolesDetailsVM { Name = role.Name, Users = role.Users.Select(u => new UsersVM { Id = u.Id, Username = u.Username, FirstName = u.FirstName, LastName = u.LastName, }).ToList() }; return(View(model)); }
public ActionResult Index(TeamsIndexVM model) { if (AuthenticationManager.LoggedUser == null) { return(RedirectToAction("Login", "Home")); } model.Pager = model.Pager ?? new PagerVM(); model.Pager.Page = model.Pager.Page <= 0 ? 1 : model.Pager.Page; model.Pager.ItemsPerPage = model.Pager.ItemsPerPage <= 0 ? 10 : model.Pager.ItemsPerPage; model.FilterVm = model.FilterVm ?? new TeamsFilterVM(); bool emptyProjectName = string.IsNullOrWhiteSpace(model.FilterVm.ProjectName); bool emptyTeamName = string.IsNullOrWhiteSpace(model.FilterVm.TeamName); OvmDbContext context = new OvmDbContext(); IQueryable <Team> query = context.Teams.Where(t => (emptyProjectName || t.Project.Name.Contains(model.FilterVm.ProjectName)) && (emptyTeamName || t.Name.Contains(model.FilterVm.TeamName))); model.Pager.PagesCount = (int)Math.Ceiling(query.Count() / (double)(model.Pager.ItemsPerPage)); query = query.OrderBy(t => t.Id).Skip((model.Pager.Page - 1) * model.Pager.ItemsPerPage).Take(model.Pager.ItemsPerPage); model.Items = query.Select(t => new TeamsVM { Id = t.Id, Name = t.Name, ProjectPair = t.Project != null ? new ProjectsPair { Id = t.ProjectId.Value, Name = t.Project.Name } : null, TeamLeadName = t.TeamLead.Username ?? string.Empty, TeamSize = t.Developers.Count }).ToList(); context.Dispose(); return(View(model)); }
public ActionResult EditUnpaid(UnpaidTimeOffsEditVM model) { OvmDbContext context = new OvmDbContext(); UnpaidTimeOff uto = new UnpaidTimeOff { Id = model.Id, CreatedOn = DateTime.Now, RequestorId = AuthenticationManager.LoggedUser.Id, From = model.From, To = model.To, IsHalfDay = model.IsHalfDay }; context.UnpaidTimeOffs.AddOrUpdate(pt => pt.Id, uto); context.SaveChanges(); context.Dispose(); return(RedirectToAction("Index")); }