public ActionResult Index(ProjectOrder projectOrder) { // if something wrong if (!ModelState.IsValid) { List <SelectListItem> selectListItems = new List <SelectListItem>(); for (int i = 0; i < 5; i++) { selectListItems.Add(new SelectListItem { Text = (i + 1).ToString(), Value = (i + 1).ToString() }); } projectOrder.ProjectDifficulties = selectListItems; return(View(projectOrder)); } using (CompanyContext company = new CompanyContext()) { Project project = new Project { Name = projectOrder.ProjectName, Description = projectOrder.ProjectDescription, Difficulty = projectOrder.ProjectDifficulty }; company.Clients.Add(new Client { Name = projectOrder.ClientName, Email = projectOrder.ClientEmail, CurrentProject = project }); company.Projects.Add(project); var teamMembers = company.Employees.Where(employee => employee.Availability == true).Take(project.Difficulty * 3).ToList(); teamMembers.ForEach(employee => employee.ProjectCount++); company.ProjectTeams.Add(new ProjectTeam { CurrentProject = project, Employees = teamMembers }); company.SaveChanges(); } return(RedirectToAction("OrderResult", projectOrder)); }
public ActionResult OrderResult(ProjectOrder projectOrder) { Project project; List <Employee> projectTeam; using (CompanyContext company = new CompanyContext()) { project = company.Projects.ToList().LastOrDefault(); projectTeam = company.ProjectTeams.Where(team => team.CurrentProject.Id == project.Id).SelectMany(team => team.Employees).ToList(); } var orderInformation = new ProjectOrderInformation(); orderInformation.StartDate = project.StartDate; orderInformation.ProjectTimeDuration = project.ProjectTimeDuration; orderInformation.Employees = projectTeam; return(View(orderInformation)); }
public ActionResult Index() { var projectOrder = new ProjectOrder(); List <SelectListItem> selectListItems = new List <SelectListItem>(); // populate dropdown list for (int i = 0; i < 5; i++) { selectListItems.Add(new SelectListItem { Text = (i + 1).ToString(), Value = (i + 1).ToString() }); } projectOrder.ProjectDifficulties = selectListItems; return(View(projectOrder)); }