public IActionResult Client(AddClientViewModel addClientViewModel) { if (ModelState.IsValid) { Client newClient = new Client { Name = addClientViewModel.Name, PointOfContact = addClientViewModel.PointOfContact, Phone = addClientViewModel.Phone, EMail = addClientViewModel.EMail, AddressStreet = addClientViewModel.AddressStreet, AddressCityZip = addClientViewModel.AddressCityZip }; context.Clients.Add(newClient); context.SaveChanges(); ViewBag.SingleClient = newClient; return(View()); } addClientViewModel.Clients = context.Clients.ToList(); return(View("AddClient", addClientViewModel)); }
public IActionResult Generator(InvoiceViewModel invoiceViewModel) { if (ModelState.IsValid) { Project newProject = context.Projects .Include(p => p.Client) .Single(p => p.ProjectID == invoiceViewModel.ProjectID); Invoice newInvoice = new Invoice { CurrentDate = DateTime.Today.ToString("d"), Project = newProject }; IList <Worktime> openWorktimes = context.Worktimes .Where(w => w.ProjectID == invoiceViewModel.ProjectID) .Where(w => w.OpenStatus == true) .Include(w => w.Project) .Include(w => w.Project.Client) .ToList(); if (openWorktimes.Count == 0) { return(Redirect("/")); } newInvoice.Worktimes = openWorktimes; foreach (Worktime aWorktime in openWorktimes) { newInvoice.TotalAmount += aWorktime.Amount; aWorktime.OpenStatus = false; } context.Invoices.Add(newInvoice); context.SaveChanges(); ConfirmInvoiceViewModel confirmInvoiceViewModel = new ConfirmInvoiceViewModel(newInvoice); return(View("ConfirmInvoice", confirmInvoiceViewModel)); } return(View("Invoice", invoiceViewModel)); }
public IActionResult DashWorkTime(DashboardViewModel dashboardViewModel) { if (ModelState.IsValid) { Project newProject = context.Projects.Single(p => p.ProjectID == dashboardViewModel.ProjectID); Worktime newWorktime = new Worktime { Hours = dashboardViewModel.Hours, WeekRange = WeekNumber.WeekDict[dashboardViewModel.WeekId], Description = dashboardViewModel.Description, Project = newProject }; newWorktime.Amount = newWorktime.Hours * (double)newWorktime.Project.Rate; newWorktime.OpenStatus = true; context.Worktimes.Add(newWorktime); context.SaveChanges(); return(Redirect("/?id=" + dashboardViewModel.ProjectID)); } AddTimeViewModel addTimeViewModel = new AddTimeViewModel { Hours = dashboardViewModel.Hours, WeekId = dashboardViewModel.WeekId, Description = dashboardViewModel.Description, ProjectID = dashboardViewModel.ProjectID }; addTimeViewModel.SelectProjects = SelectListGen.SelectProjects(context.Projects.ToList()); return(View("AddTime", addTimeViewModel)); }
public IActionResult Project(AddProjectViewModel addProjectViewModel) { if (ModelState.IsValid) { Client newClient = context.Clients.Single(c => c.ClientID == addProjectViewModel.ClientID); Project newProject = new Project { Name = addProjectViewModel.Name, Description = addProjectViewModel.Description, Rate = addProjectViewModel.Rate, Client = newClient }; context.Projects.Add(newProject); context.SaveChanges(); ViewBag.SingleProject = newProject; return(View()); } return(View("AddProject", addProjectViewModel)); }