Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }