public IActionResult GetById(long id) { var project = _context.Project.FirstOrDefault(t => t.ProjectSapId == id.ToString()); if (project == null) { return(NotFound()); } else { ProjectNetflix project_netxlix = CreateProjectNetflix(project); return(new ObjectResult(project_netxlix)); } }
protected List <Project> VerifySorting(List <Project> projectToBeSorted, string sorting) { List <Project> projectSorted = new List <Project>(); foreach (Project project in projectToBeSorted) { ProjectNetflix project_netxlix = CreateProjectNetflix(project); if (exceedingBudgetSorting.Contains(sorting)) { if (project_netxlix.BudgetLeft < 0) { projectSorted.Add(project); continue; } } else if (exceedingXAmountSorting.Contains(sorting)) { if (project_netxlix.InitialBudget > 100000) { projectSorted.Add(project); continue; } } else if (lateSorting.Contains(sorting)) { if (project.EstEndDate < System.DateTime.Today) { projectSorted.Add(project); continue; } } else if (sorting == "undefined") { projectSorted.Add(project); continue; } } return(projectSorted); }
protected ProjectNetflix CreateProjectNetflix(Project project) { ProjectNetflix project_netxlix = new ProjectNetflix(); var manager = (from p in _context.Employe where p.Id == project.ProjectManagerId select p).FirstOrDefault(); var budget = (from p in _context.Budget where p.Id == project.BudgetId select p).First(); //var expenses = (from p in _context.Expense // where p.Budgetid == budget.Id // select p).ToList(); var connexeProjectIds = (from p in _context.ConnexeProject where p.ProjectId == project.Id select p.ConnexeProjectSapid).ToList(); List <ProjectNetflixExpense> expenses_netflix = new List <ProjectNetflixExpense>(); //foreach (Expense expense in expenses) //{ // ProjectNetflixExpense expense_netflix = new ProjectNetflixExpense() // { // Id = expense.Id, // Amount = expense.Amount, // Budgetid = expense.Budgetid, // ExpenseName = expense.ExpenseName // }; // expenses_netflix.Add(expense_netflix); //} List <ProjectNetflixCard> connexeProjects = new List <ProjectNetflixCard>(); foreach (String connexeProjectid in connexeProjectIds) { var pro = _context.Project.FirstOrDefault(t => t.Id == project.Id); if (pro == null) { continue; } else { var man = (from p in _context.Employe where p.Id == pro.ProjectManagerId select p).FirstOrDefault(); ProjectNetflixCard connexeProject = new ProjectNetflixCard() { Id = pro.Id, ProjectName = pro.ProjectName, ProjectOwnerId = project.ProjectOwnerId, ProjectSapId = project.ProjectSapId, ProjectsClient = project.ProjectsClient, ProjectStatus = project.ProjectStatus, StartDate = project.StartDate, Thumbnail = project.Thumbnail, EstEndDate = project.EstEndDate != null?project.EstEndDate.Value.ToString("MMMM, yyyy") : "n/a", Department = project.Department, CompletionPercentage = project.CompletionPercentage, Factory = project.Factory, ManagerName = man.Name, ManagerPicture = man.Picture, }; connexeProjects.Add(connexeProject); } } if (manager == null) { project_netxlix.ManagerName = "Unknown"; project_netxlix.ManagerPicture = "http://www.getsmartcontent.com/content/uploads/2014/08/shutterstock_149293433.jpg"; } else { project_netxlix.ManagerName = manager.Name; project_netxlix.ManagerPicture = manager.Picture; } project_netxlix.Id = project.Id; project_netxlix.Priority = project.Priority; project_netxlix.ProjectManagerId = project.ProjectManagerId; project_netxlix.ProjectName = project.ProjectName; project_netxlix.ProjectOwnerId = project.ProjectOwnerId; project_netxlix.ProjectSapId = project.ProjectSapId; project_netxlix.ProjectsClient = project.ProjectsClient; project_netxlix.ProjectStatus = project.ProjectStatus; project_netxlix.StartDate = project.StartDate != null?project.StartDate.Value.ToString("dd MMMM, yyyy") : "n/a"; project_netxlix.Thumbnail = project.Thumbnail; project_netxlix.EstEndDate = project.EstEndDate != null?project.EstEndDate.Value.ToString("dd MMMM, yyyy") : "n/a"; project_netxlix.Description = project.Description; project_netxlix.Department = project.Department; project_netxlix.CompletionPercentage = project.CompletionPercentage; project_netxlix.Factory = project.Factory; project_netxlix.InitialBudget = budget.InitialBudget; project_netxlix.BudgetSpent = budget.BudgetSpent; project_netxlix.BudgetLeft = budget.BudgetLeft; project_netxlix.EstWorkDay = project.EstWorkDay; project_netxlix.Expenses = expenses_netflix; project_netxlix.ConnexeProject = connexeProjects; return(project_netxlix); }