private ActionResult SaveProject(string id, CreateEditProjectViewModel formdata)
        {
            var userId      = User.Identity.GetUserId();
            var currentUser = DbContext.Users.FirstOrDefault(p => p.Id == userId);

            Project project;

            if (id == null)
            {
                project        = new Project();
                project.UserId = userId;
                project.Users.Add(currentUser);

                currentUser.Projects.Add(project);

                DbContext.Projects.Add(project);
            }
            else
            {
                project = DbContext.Projects.FirstOrDefault(
                    p => p.Id == id);

                if (project == null || project.Archived == true)
                {
                    return(RedirectToAction("Index", "Main"));
                }
                project.DateUpdated = DateTime.Now;
            }

            project.ProjectName    = formdata.ProjectName;
            project.ProjectDetails = formdata.ProjectDetails;
            DbContext.SaveChanges();

            return(RedirectToAction("Index", "Main"));
        }
        public ActionResult Edit(int id)
        {
            Project project = db.Projects.Find(id);

            var projectUsers       = project.Users.ToList();
            var managers           = db.Roles.FirstOrDefault(r => r.Name == "Project Manager").Name.UsersInRole();
            var developers         = db.Roles.FirstOrDefault(r => r.Name == "Developer").Name.UsersInRole();
            var submitters         = db.Roles.FirstOrDefault(r => r.Name == "Submitter").Name.UsersInRole();
            var selectedManager    = db.Users.Find(project.ProjectManagerId);
            var selectedDevelopers = new List <string>();
            var selectedSubmitters = new List <string>();

            foreach (var user in projectUsers)
            {
                if (user.Id.UserIsInRole("Developer"))
                {
                    selectedDevelopers.Add(user.FullName);
                }
                if (user.Id.UserIsInRole("Submitter"))
                {
                    selectedSubmitters.Add(user.FullName);
                }
            }

            var model = new CreateEditProjectViewModel()
            {
                Project         = project,
                ProjectManagers = new SelectList(managers, "Id", "FullName", selectedManager),
                Developers      = new MultiSelectList(developers, "FullName", "FullName", selectedDevelopers),
                Submitters      = new MultiSelectList(submitters, "FullName", "FullName", selectedSubmitters)
            };

            return(View(model));
        }
        public ActionResult EditAProject(string id, CreateEditProjectViewModel formdata)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Main"));
            }

            if (!ModelState.IsValid)
            {
                return(View());
            }

            SaveProject(id, formdata);

            return(RedirectToAction("Index", "Main"));
        }
        //GET: Projects/Create
        public ActionResult Create()
        {
            var managers   = db.Roles.FirstOrDefault(r => r.Name == "Project Manager").Name.UsersInRole().AsEnumerable();
            var developers = db.Roles.FirstOrDefault(r => r.Name == "Developer").Name.UsersInRole().AsEnumerable();
            var submitters = db.Roles.FirstOrDefault(r => r.Name == "Submitter").Name.UsersInRole().AsEnumerable();

            var model = new CreateEditProjectViewModel()
            {
                Project         = new Project(),
                ProjectManagers = new SelectList(managers, "Id", "FullName"),
                Developers      = new MultiSelectList(developers, "FullName", "FullName"),
                Submitters      = new MultiSelectList(submitters, "FullName", "FullName")
            };

            return(View(model));
        }
Example #5
0
        public ActionResult Edit(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction(nameof(ProjectController.Index)));
            }

            var project = AppHepler.GetProjectById(id);

            if (project == null)
            {
                return(RedirectToAction(nameof(ProjectController.Index)));
            }

            var model = new CreateEditProjectViewModel();

            model.Name = project.Name;

            return(View(model));
        }
        public ActionResult EditAProject(string id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Main"));
            }

            var project = DbContext.Projects.FirstOrDefault(p => p.Id == id);

            if (project == null || project.Archived == true)
            {
                return(RedirectToAction("Index", "Main"));
            }

            var model = new CreateEditProjectViewModel();

            model.ProjectName    = project.ProjectName;
            model.ProjectDetails = project.ProjectDetails;
            model.Id             = project.Id;

            return(View(model));
        }
Example #7
0
        private ActionResult SaveProject(int?id, CreateEditProjectViewModel formData)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var appUserId = User.Identity.GetUserId();

            Project projectForSavingProject;

            if (!id.HasValue)
            {
                projectForSavingProject             = new Project();
                projectForSavingProject.DateCreated = DateTime.Now;

                DbContext.Projects.Add(projectForSavingProject);
            }
            else
            {
                projectForSavingProject = AppHepler.GetProjectById(id);

                projectForSavingProject.DateUpdated = DateTime.Now;

                if (projectForSavingProject == null)
                {
                    return(RedirectToAction(nameof(ProjectController.Index)));
                }
            }

            projectForSavingProject.Name = formData.Name;

            DbContext.SaveChanges();

            return(RedirectToAction(nameof(ProjectController.Index)));
        }
Example #8
0
 public ActionResult Create(CreateEditProjectViewModel formData)
 {
     return(SaveProject(null, formData));
 }
Example #9
0
 public ActionResult Edit(int id, CreateEditProjectViewModel formData)
 {
     return(SaveProject(id, formData));
 }