Beispiel #1
0
        protected string addProjectVersionArticle(projectVersionEditViewModel
                                                  viewModel, SASDdbContext db)
        {
            string     ret;
            tblArticle ta          = new tblArticle(db);
            tblProject tp          = new tblProject();
            string     projectName = tp.nameById(viewModel.editModel.projectId.ToString());
            article    prjArticle  = ta.GetByProjectId(viewModel.editModel.projectId.ToString());
            article    pva         = new article();

            pva.articleId    = (Guid)viewModel.editModel.versionArticleId;
            pva.createtime   = DateTime.Now;
            pva.articleTitle = $"project {projectName} version " +
                               $"{viewModel.editModel.version}";
            pva.articleHtmlContent = string.Format(@"
<h1>{0} version {1}</h1>
<p>{2}</p>
", projectName, viewModel.editModel.version,
                                                   viewModel.editModel.versionDescription);
            pva.articleContent = string.Format("{0} {1} {2}"
                                               , projectName, viewModel.editModel.version
                                               , viewModel.editModel.versionDescription);
            pva.isDir = true;
            pva.belongToArticleDirId = prjArticle.articleId;
            pva.articleType          = ARTICLE_TYPE.Project.ToString();
            pva.articleStatus        = ARTICLE_STATUS.New.ToString();
            pva.priority             = 1;
            pva.projectId            = viewModel.editModel.projectId;
            ret  = ta.Add(pva);
            ret += ta.SaveChanges();
            return(ret);
        }
Beispiel #2
0
        protected string checkForm(projectVersionEditViewModel viewModel)
        {
            string ret = "";

            if (string.IsNullOrWhiteSpace(viewModel.editModel.version))
            {
                ret = "version cannot be empty";
            }
            return(ret);
        }
Beispiel #3
0
        public ActionResult AddUpdate()
        {
            projectVersionEditViewModel viewModel;
            var tmpVM = TempData["projectVersionEditViewModel"];

            if (tmpVM == null)
            {
                viewModel = new projectVersionEditViewModel();
            }
            else
            {
                viewModel = (projectVersionEditViewModel)tmpVM;
            }
            ViewBag.projectList = PMdropdownOption.projectList();
            return(View(viewModel));
        }
Beispiel #4
0
        public ActionResult Index(projectVersionsViewModel viewModel)
        {
            ActionResult ar;
            var          multiSelect = Request.Form["multiSelect"];

            ViewBag.projectList = PMdropdownOption.projectList();
            viewModel.clearMsg();
            tblProjectVersion           tpv = new tblProjectVersion();
            projectVersionEditViewModel tmpVM;

            switch (viewModel.cmd)
            {
            case "query":
                viewModel.errorMsg = queryProjectVersions(ref viewModel);
                ar = View(viewModel);
                break;

            case "add":
                tmpVM            = new projectVersionEditViewModel();
                tmpVM.pageStatus = (int)PAGE_STATUS.ADD;
                TempData["projectVersionEditViewModel"] = tmpVM;
                ar = RedirectToAction("AddUpdate");
                return(ar);

            case "update":
                projectVersion pv = tpv.getById(viewModel.singleSelect);
                if (pv != null)
                {
                    tmpVM            = new projectVersionEditViewModel();
                    tmpVM.editModel  = pv;
                    tmpVM.pageStatus = (int)PAGE_STATUS.EDIT;
                    TempData["projectVersionEditViewModel"] = tmpVM;
                    ar = RedirectToAction("AddUpdate");
                    return(ar);
                }
                viewModel.errorMsg = "error reading this project version";
                ar = View(viewModel);
                break;

            case "delete":
                //undone !!... (3) delete project delete article also
                if (string.IsNullOrWhiteSpace(multiSelect))
                {
                    viewModel.errorMsg = "please select project version to delete";
                }
                else
                {
                    string[] selected = multiSelect.Split(',');
                    foreach (string projectVersionS in selected.ToList())
                    {
                        int projectVersionId;
                        if (!int.TryParse(projectVersionS, out projectVersionId))
                        {
                            continue;
                        }
                        viewModel.errorMsg += tpv.Delete(projectVersionId);
                    }
                    viewModel.errorMsg += tpv.SaveChanges();
                    if (string.IsNullOrWhiteSpace(viewModel.errorMsg))
                    {
                        viewModel.successMsg = "successfully deleted";
                    }
                }
                viewModel.errorMsg = queryProjectVersions(ref viewModel);
                ar = View(viewModel);
                break;

            default:
                ar = View(viewModel);
                break;
            }
            return(ar);
        }
Beispiel #5
0
        public ActionResult AddUpdate(projectVersionEditViewModel viewModel)
        {
            ActionResult ar;

            ViewBag.projectList = PMdropdownOption.projectList();
            string err;

            viewModel.clearMsg();
            switch (viewModel.cmd)
            {
            case "save":
                err = checkForm(viewModel);
                if (err.Length > 0)
                {
                    viewModel.errorMsg = err;
                    ar = View(viewModel);
                    break;
                }
                tblProjectVersion tpv = new tblProjectVersion();
                if (viewModel.pageStatus == (int)PAGE_STATUS.ADD)
                {
                    viewModel.editModel.createtime       = DateTime.Now;
                    viewModel.editModel.versionArticleId = Guid.NewGuid();
                    using (var trans = tpv.BeginTransaction())
                    {
                        err += tpv.Add(viewModel.editModel);
                        err += tpv.SaveChanges();
                        err += addProjectVersionArticle(viewModel,
                                                        tpv.GetDbContext());
                        if (err.Length > 0)
                        {
                            trans.Rollback();
                        }
                        else
                        {
                            trans.Commit();
                        }
                    }
                    if (err.Length == 0)
                    {
                        viewModel.successMsg = "new project version saved";
                        viewModel.pageStatus = (int)PAGE_STATUS.ADDSAVED;
                    }
                    else
                    {
                        viewModel.errorMsg = err;
                    }
                }
                else if (viewModel.pageStatus == (int)PAGE_STATUS.EDIT)
                {
                    err += tpv.Update(viewModel.editModel);
                    err += tpv.SaveChanges();
                    if (err.Length == 0)
                    {
                        viewModel.successMsg = "project version update";
                        viewModel.pageStatus = (int)PAGE_STATUS.SAVED;
                    }
                    else
                    {
                        viewModel.errorMsg = err;
                    }
                }
                else
                {
                    viewModel.errorMsg = "wrong page status " + viewModel.pageStatus;
                }
                ar = View(viewModel);
                break;

            case "addNew":
                projectVersionEditViewModel tmpVM = new projectVersionEditViewModel();
                tmpVM.pageStatus = (int)PAGE_STATUS.ADD;
                TempData["projectVersionEditViewModel"] = tmpVM;
                ar = RedirectToAction("AddUpdate");
                return(ar);

            case "query":
                ar = RedirectToAction("Index");
                return(ar);

            default:
                ar = View(viewModel);
                break;
            }
            return(ar);
        }