public ActionResult Edit(ProjectViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var project = db.Projects.Single(x => x.Id == viewModel.Id);

                if (!EntityAuthorization.ProjectEditDelete(project))
                {
                    return(HttpNotFound());
                }

                project.InitFromViewModel(viewModel);
                project.ModifiedUserId   = Viola.Models.User.GetCurrentUserId();
                project.ModifiedDatetime = DateTime.Now.ToUniversalTime();

                db.Entry(project).State = EntityState.Modified;
                db.SaveChanges();
                ProjectTeam.Create(project.Id, Request.Form.GetValues("UserIdMulti"));
                ProjectTeam.AddProjectManagerToTeam(project);

                return(RedirectToAction("Details", "Projects", new { id = project.Id }));
            }
            ViewBag.ManagerUserId = new SelectList(Viola.Models.User.GetUsers(), "Id", "FullName", viewModel.ManagerUserId);
            ViewBag.UserIdMulti   = new MultiSelectList(Viola.Models.User.GetUsers(), "Id", "FullName", ProjectTeam.UserIdSelection(viewModel.Id));
            return(View(viewModel));
        }
        public ActionResult Create(ProjectViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var project = new Project();
                project.InitFromViewModel(viewModel);
                project.InitCreateValue();

                db.Projects.Add(project);
                db.SaveChanges();
                ProjectTeam.Create(project.Id, Request.Form.GetValues("UserIdMulti"));
                ProjectTeam.AddProjectManagerToTeam(project);

                return(RedirectToAction("Details", "Projects", new { id = project.Id }));
            }

            ViewBag.ManagerUserId = new SelectList(Viola.Models.User.GetUsers(), "Id", "FullName", viewModel.ManagerUserId);
            ViewBag.UserIdMulti   = new MultiSelectList(Viola.Models.User.GetUsers(), "Id", "FullName");
            return(View(viewModel));
        }