예제 #1
0
        public ActionResult Create(TaskViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                // kullanıcı sadece yetkisi olan projeler arasından seçim yapabilir
                if (!Project.GetProjectsByRole().Where(x => x.Id == viewModel.ProjectId).Any())
                {
                    return(HttpNotFound());
                }

                var task = new Task();
                task.InitFromViewModel(viewModel);
                task.InitCreateValue();

                db.Tasks.Add(task);
                db.SaveChanges();
                TaskAssignedUser.Create(task.Id, Request.Form.GetValues("UserIdMulti"));

                return(RedirectToAction("Details", "Tasks", new { id = task.Id }));
            }

            ViewBag.ProjectId   = new SelectList(Project.GetProjectsByRole(), "Id", "Name", viewModel.ProjectId);
            ViewBag.UserIdMulti = new MultiSelectList(Viola.Models.User.GetUsers(), "Id", "FullName");
            return(View(viewModel));
        }
예제 #2
0
        public static void Create(int projectId, string[] selection)
        {
            using (var db = new ViolaContext())
            {
                // mevcut iliþkiler silinir.
                foreach (var row in db.ProjectTeams.Where(x => x.ProjectId == projectId))
                {
                    db.ProjectTeams.Remove(row);
                }

                // yeni iliþkiler kaydedilir
                if (selection != null)
                {
                    foreach (var id in selection)
                    {
                        var row = new ProjectTeam
                        {
                            ProjectId = projectId,
                            UserId    = id
                        };
                        row.InitCreateValue();

                        db.ProjectTeams.Add(row);
                    }
                }

                db.SaveChanges();
            }
        }
예제 #3
0
        public static void Create(int _taskId, string[] selection)
        {
            using (var db = new ViolaContext())
            {
                // mevcut iliþkiler silinir.
                foreach (var row in db.TaskAssignedUsers.Where(x => x.TaskId == _taskId))
                {
                    db.TaskAssignedUsers.Remove(row);
                }

                // yeni iliþkiler kaydedilir
                if (selection != null)
                {
                    foreach (var id in selection)
                    {
                        var row = new TaskAssignedUser
                        {
                            TaskId = _taskId,
                            UserId = id
                        };
                        row.InitCreateValue();

                        // eðer projeye ekibinde yer alan bir kullanýcý ise task ile iliþkilendirilir.
                        if (Viola.Models.User.GetUsersAssignedToProject(Task.Find(_taskId).ProjectId).Where(x => x.Id == row.UserId).Any())
                        {
                            db.TaskAssignedUsers.Add(row);
                        }
                    }
                }

                db.SaveChanges();
            }
        }
예제 #4
0
        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));
        }
예제 #5
0
        public ActionResult Create(EffortViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (!EntityAuthorization.EffortCreate(viewModel))
                {
                    return(HttpNotFound());
                }

                var effort = new Effort();
                effort.InitFromViewModel(viewModel);
                effort.InitCreateValue();

                db.Efforts.Add(effort);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.UserId = new SelectList(Viola.Models.User.GetUsersForEffort(), "Id", "FullName", viewModel.UserId);
            ViewBag.TaskId = new SelectList(Task.GetTasksByRole(), "Id", "Name", viewModel.TaskId);
            return(View(viewModel));
        }
예제 #6
0
        public ActionResult Index(CompanyViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var company = Company.GetCurrentCompany(db);


                company.InitFromViewModel(viewModel);
                company.ModifiedDatetime = DateTime.Now.ToUniversalTime();

                db.Entry(company).State = EntityState.Modified;
                db.SaveChanges();
            }
            return(View(viewModel));
        }
예제 #7
0
        public static void AddProjectManagerToTeam(Project project)
        {
            var db = new ViolaContext();

            if (!ProjectTeam.Exist(project.Id, project.ManagerUserId))
            {
                var pt = new ProjectTeam()
                {
                    ProjectId = project.Id,
                    UserId    = project.ManagerUserId
                };

                pt.InitCreateValue();

                db.ProjectTeams.Add(pt);
                db.SaveChanges();
            }
        }