コード例 #1
0
ファイル: ProjectsService.cs プロジェクト: NickAndersonX/xodb
        public void CreateProject(Project o)
        {
            using (new TransactionScope(TransactionScopeOption.Suppress))
            {
                var p = new ProjectsDataContext();
                o.ProjectName = (o.ProjectName == "null") ? null : o.ProjectName.Substring(1, o.ProjectName.Length - 2);
                o.Comment = (o.Comment == "null") ? null : o.Comment.Substring(1, o.Comment.Length - 2);
                o.ProjectID = Guid.NewGuid();
                p.Projects.InsertOnSubmit(o);
                p.SubmitChanges();
            }

        }
コード例 #2
0
ファイル: ProjectsService.cs プロジェクト: NickAndersonX/xodb
 public void UpdateProject(ProjectViewModel m)
 {
     using (new TransactionScope(TransactionScopeOption.Suppress))
     {
         var now = DateTime.UtcNow;
         var d = new ProjectsDataContext();
         var p = new Project();
         p.ProjectName = (m.ProjectName == "null") ? null : m.ProjectName;
         p.Comment = (m.Comment == "null") ? null : m.Comment;
         p.ProjectID = Guid.NewGuid();
         p.VersionOwnerContactID = m.Creator;
         p.VersionUpdated = now;
         p.VersionUpdatedBy = m.User;
         d.Projects.InsertOnSubmit(p);
         var n = new ProjectPlan();
         n.ProjectPlanID = Guid.NewGuid();
         n.ProjectID = p.ProjectID;
         n.ProjectPlanName = "Resource Modelling";
         n.ResponsibleContactID = m.Creator;
         n.VersionOwnerContactID = m.User;
         n.VersionUpdated = now;
         n.VersionUpdatedBy = m.User;
         d.ProjectPlans.InsertOnSubmit(n);
         var t = new ProjectPlanTask();
         t.ProjectPlanTaskID = Guid.NewGuid();
         t.ProjectPlanID = n.ProjectPlanID;
         t.ProjectTaskName = m.StageName;
         t.VersionOwnerContactID = m.Creator;
         t.VersionUpdated = now;
         t.VersionUpdatedBy = m.User;
         d.ProjectPlanTasks.InsertOnSubmit(t);
         var tr = new ProjectPlanTask();
         tr.ProjectPlanTaskID = Guid.NewGuid();
         tr.ProjectPlanID = n.ProjectPlanID;
         tr.ProjectTaskName = "Review";
         tr.VersionOwnerContactID = m.Reviewer;
         tr.VersionUpdated = now.AddSeconds(-1); //This is not the current task
         tr.VersionUpdatedBy = m.User;
         d.ProjectPlanTasks.InsertOnSubmit(tr);
         var tc = new ProjectPlanTask();
         tc.ProjectPlanTaskID = Guid.NewGuid();
         tc.ProjectPlanID = n.ProjectPlanID;
         tc.ProjectTaskName = "Complete";
         tc.VersionOwnerContactID = m.User;
         tc.VersionUpdated = now.AddSeconds(-1); //This is not the current task
         tc.VersionUpdatedBy = m.User;
         d.ProjectPlanTasks.InsertOnSubmit(tr);
         d.SubmitChanges();
     }
 }
コード例 #3
0
 partial void DeleteProject(Project instance);
コード例 #4
0
 partial void UpdateProject(Project instance);
コード例 #5
0
 partial void InsertProject(Project instance);
コード例 #6
0
ファイル: UserController.cs プロジェクト: NickAndersonX/xodb
        public ActionResult ProjectListNewPartial(Project o)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (!Services.Authorizer.Authorize(Permissions.ManageProjects, T("Couldn't create project.")))
                        return new HttpUnauthorizedResult();

                    //Validate
                    if (string.IsNullOrEmpty(o.ProjectName))
                        ModelState.AddModelError("ProjectName", T("Project name is required.").ToString());

                    if (ModelState.IsValid)
                    {
                        ProjectService.CreateProject(o);
                        return PartialView("ProjectListPartial");
                    }

                    return View(o);
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                }
            }
            else
                ViewData["EditError"] = "Please, correct all errors.";
            return PartialView("ProjectListPartial");
        }