Exemple #1
0
        public ActionResult AddUpdate()
        {
            systemEditViewModel viewModel;
            var tmpVM = TempData["systemEditViewModel"];

            if (tmpVM == null)
            {
                viewModel = new systemEditViewModel();
            }
            else
            {
                viewModel = (systemEditViewModel)tmpVM;
            }
            var projectId = Session["projectId"];

            if (projectId != null)
            {
                viewModel.editModel.projectId = new Guid(projectId.ToString());
                ViewBag.projectName           = Session["projectName"] + "";
                ViewBag.projectLock           = true;
            }
            else
            {
                return(RedirectToAction("Index", "Project"));
            }
            ViewBag.projectList = PMdropdownOption.projectList();
            // two combo system type, system group
            ViewBag.systemTypeList  = SDdropdownOptions.systemTypeList();
            ViewBag.systemGroupList = SDdropdownOptions.systemGroupList();
            return(View(viewModel));
        }
Exemple #2
0
        public ActionResult EditArticle()//string isDir)
        {
            articleEditViewModel viewModel;
            var tmpvar = TempData["articleEditViewModel"];

            if (tmpvar != null)
            {
                viewModel = (articleEditViewModel)tmpvar;
            }
            else
            {
                viewModel = new articleEditViewModel();
                viewModel.editModel.priority = 5;
            }
            //if (!string.IsNullOrWhiteSpace(isDir) && isDir == "1")
            //    viewModel.isDir = 1;
            //else
            //    viewModel.isDir = 0;
            //ViewBag.isDir = viewModel.isDir;
            if (viewModel.editModel.belongToArticleDirId == null)
            {
                viewModel.parentDirTitle = EMPTY_PARENT_TITLE;
            }
            // if editing, article/directory cannot be changed
            ViewBag.articleTypeOption     = SAdropdownOptions.articleTypeOption();
            ViewBag.articleStatusOption   = SAdropdownOptions.articleStatusOption();
            ViewBag.articlePriorityOption = SAdropdownOptions.articlePriorityOption();
            ViewBag.userList = PMdropdownOption.userList();
            TempData["articleEditViewModel"] = viewModel;
            return(View(viewModel));
        }
Exemple #3
0
        //need to make 1 page (single action single view) controller
        // may use accordion for 3 segment, query part, query result part, add/update/detail part
        public ActionResult Index()
        {
            systemGroupViewModel viewModel;
            var systemGroupModel = TempData[modelName];

            if (systemGroupModel == null)
            {
                viewModel = new systemGroupViewModel();
            }
            else
            {
                viewModel = (systemGroupViewModel)systemGroupModel;
            }
            ViewBag.pageStatus = TempData[PageStatus];
            if (ViewBag.pageStatus == null)
            {
                ViewBag.pageStatus = (int)PAGE_STATUS.QUERY;
            }
            ViewBag.projectList = PMdropdownOption.projectList();
            var projectId = Session["projectId"];

            if (projectId != null)
            {
                viewModel.editModel.projectId = new Guid(projectId.ToString());
                ViewBag.projectName           = Session["projectName"] + "";
                ViewBag.projectLock           = true;
            }
            else
            {
                return(RedirectToAction("Index", "Project"));
            }
            TempData[modelName]  = systemGroupModel;
            TempData[PageStatus] = ViewBag.pageStatus;
            return(View(viewModel));
        }
Exemple #4
0
        // GET: SASDPM/ProjectVersion
        public ActionResult Index(string projectId)
        {
            projectVersionsViewModel viewModel = new projectVersionsViewModel();

            viewModel.projectId = projectId;
            ViewBag.projectList = PMdropdownOption.projectList();
            return(View(viewModel));
        }
Exemple #5
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));
        }
Exemple #6
0
        public ActionResult Systems()
        {
            systemsViewModel viewModel = new systemsViewModel();
            var projectId = Session["projectId"];

            if (projectId == null)
            {
                return(RedirectToAction("Index", "Project"));
            }
            {
                viewModel.projectId = projectId.ToString();
                ViewBag.projectName = Session["projectName"] + "";
                ViewBag.projectLock = true;
            }
            //else
            ViewBag.projectList     = PMdropdownOption.projectList();
            ViewBag.systemTypeList  = SDdropdownOptions.systemTypeList();
            ViewBag.systemGroupList = SDdropdownOptions.systemGroupList();
            return(View(viewModel));
        }
Exemple #7
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);
        }
Exemple #8
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);
        }
Exemple #9
0
        public ActionResult EditArticle(articleEditViewModel viewModel)
        {
            ActionResult ret;

            ViewBag.articleTypeOption     = SAdropdownOptions.articleTypeOption();
            ViewBag.articleStatusOption   = SAdropdownOptions.articleStatusOption();
            ViewBag.articlePriorityOption = SAdropdownOptions.articlePriorityOption();
            ViewBag.userList = PMdropdownOption.userList();
            string err;

            // articles, ckeditor, paste base64 image
            switch (viewModel.cmd)
            {
            case "save":
                err = checkForm(viewModel);
                if (err.Length > 0)
                {
                    viewModel.errorMsg = err;
                    ret = View(viewModel);
                    break;
                }
                //article article2add = new article();
                //article2add.ArticleId = Guid.NewGuid();
                //article2add.ArticleTitle =
                //    viewModel.ArticleTitle;
                //article2add.ArticleHtmlContent =
                //    viewModel.ArticleHtmlContent;
                string pureText;
                err = htmlHelper.removeHtmlTags(
                    viewModel.editModel.articleHtmlContent, out pureText);
                if (err.Length > 0)
                {
                    viewModel.errorMsg = err;
                    ret = View(viewModel);
                    break;
                }
                viewModel.editModel.articleContent = pureText;
                //article2add.IsDir = viewModel.IsDir ;
                tblArticle tArticle = new tblArticle();
                if (viewModel.changeMode == ARTICLE_CHANGE_MODE.CREATE)
                {
                    viewModel.editModel.articleId  = Guid.NewGuid();
                    viewModel.editModel.createtime = DateTime.Now;
                    //article art = new article();
                    //art.articleId = viewModel.articleId;
                    //art.createtime = DateTime.Now;
                    //art.articleTitle = viewModel.articleTitle;
                    //art.articleHtmlContent = viewModel.articleHtmlContent;
                    //art.articleContent = viewModel.articleContent;
                    //art.isDir = viewModel.isDir;
                    //art.belongToArticleDirId = viewModel.belongToArticleDirId;

                    err  = tArticle.Add(viewModel.editModel);   // as article);
                    err += tArticle.SaveChanges();
                    if (err.Length > 0)
                    {
                        viewModel.errorMsg = "error: " + err;
                    }
                    else
                    {
                        viewModel.successMsg = "new article successfully added";
                        viewModel.pageStatus = (int)modelsfwk.PAGE_STATUS.ADDSAVED;
                    }
                }
                else if (viewModel.changeMode == ARTICLE_CHANGE_MODE.EDIT)
                {
                    err  = tArticle.Update(viewModel.editModel);
                    err += tArticle.SaveChanges();
                    if (err.Length > 0)
                    {
                        viewModel.errorMsg = "error: " + err;
                    }
                    else
                    {
                        viewModel.successMsg = "article successfully updated";
                        viewModel.pageStatus = (int)modelsfwk.PAGE_STATUS.SAVED;
                    }
                }
                else if (viewModel.changeMode == ARTICLE_CHANGE_MODE.REPLY_TO)
                {
                    // transaction, 1. create replied article 2. change original article to be directory type
                    string     err1 = "";
                    SASDdbBase db   = new SASDdbBase();
                    using (var transaction = db.BeginTransaction())
                    {
                        viewModel.editModel.articleId  = Guid.NewGuid();
                        viewModel.editModel.createtime = DateTime.Now;
                        err1  = tArticle.Add(viewModel.editModel);   // as article);
                        err1 += tArticle.SaveChanges();
                        tblArticle tart    = new tblArticle();
                        article    replied = tart.GetArticleById(viewModel.editModel.belongToArticleDirId.ToString());
                        replied.isDir = true;
                        err1         += tart.Update(replied);
                        err1         += tart.SaveChanges();
                        if (err1.Length == 0)
                        {
                            transaction.Commit();
                        }
                        else
                        {
                            err += err1;
                        }
                    }
                    if (err.Length > 0)
                    {
                        viewModel.errorMsg = "error: " + err;
                    }
                    else
                    {
                        viewModel.successMsg = "new article successfully added";
                        viewModel.pageStatus = (int)modelsfwk.PAGE_STATUS.ADDSAVED;
                    }
                }
                // notification failed, so, should use pure hidden field rather than html helped
                //ViewBag.Message = "article/directory saved";
                ret = View(viewModel);
                break;

            default:
                ret = View(viewModel);
                break;
            }
            TempData["articleEditViewModel"] = viewModel;
            return(ret);
        }
Exemple #10
0
        public ActionResult Systems(systemsViewModel viewModel)
        {
            ActionResult ar;
            var          multiSelect = Request.Form["multiSelect"];

            ViewBag.projectList = PMdropdownOption.projectList();
            var projectId = Session["projectId"];

            if (projectId == null)
            {
                return(RedirectToAction("Index", "Project"));
            }
            {
                viewModel.projectId = projectId.ToString();
                ViewBag.projectName = Session["projectName"] + "";
                ViewBag.projectLock = true;
            }
            //else
            viewModel.clearMsg();
            tblSystem           ts = new tblSystem();
            systemEditViewModel tmpVM;
            systems             sys;

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

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

            case "update":
                sys = ts.getById(viewModel.singleSelect);
                if (sys != null)
                {
                    tmpVM            = new systemEditViewModel();
                    tmpVM.editModel  = sys;
                    tmpVM.pageStatus = (int)PAGE_STATUS.EDIT;
                    TempData["systemEditViewModel"] = tmpVM;
                    ar = RedirectToAction("AddUpdate");
                    return(ar);
                }
                viewModel.errorMsg = "error reading this system";
                ar = View(viewModel);
                break;

            case "entity":
                sys = ts.getById(viewModel.singleSelect);
                if (sys != null)
                {
                    Session["systemId"]   = sys.systemId.ToString();
                    Session["systemName"] = sys.systemName + "";
                    ar = RedirectToAction("Index", "SystemEntity");
                    return(ar);
                }
                viewModel.errorMsg = "error reading this system";
                ar = View(viewModel);
                break;

            case "delete":
                //undone !!... (3) delete project delete article also
                if (string.IsNullOrWhiteSpace(multiSelect))
                {
                    viewModel.errorMsg = "please select system to delete";
                }
                else
                {
                    string[] selected = multiSelect.Split(',');
                    foreach (string systemId in selected.ToList())
                    {
                        viewModel.errorMsg += ts.Delete(systemId);
                    }
                    viewModel.errorMsg += ts.SaveChanges();
                    if (string.IsNullOrWhiteSpace(viewModel.errorMsg))
                    {
                        viewModel.successMsg = "successfully deleted";
                        viewModel.errorMsg   =
                            querySystems(ref viewModel);
                    }
                }
                //viewModel.errorMsg = querySystems(ref viewModel);
                ar = View(viewModel);
                break;

            default:
                ar = View(viewModel);
                break;
            }
            return(ar);
        }
Exemple #11
0
        public ActionResult AddUpdate(systemEditViewModel viewModel)
        {
            ActionResult ar;
            var          projectId = Session["projectId"];

            if (projectId != null)
            {
                viewModel.editModel.projectId = new Guid(projectId.ToString());
                ViewBag.projectName           = Session["projectName"] + "";
                ViewBag.projectLock           = true;
            }
            else
            {
                return(RedirectToAction("Index", "Project"));
            }
            ViewBag.projectList = PMdropdownOption.projectList();
            // two combo system type, system group
            ViewBag.systemTypeList  = SDdropdownOptions.systemTypeList();
            ViewBag.systemGroupList = SDdropdownOptions.systemGroupList();
            string err;

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

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

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

            default:
                ar = View(viewModel);
                break;
            }
            return(ar);
        }
Exemple #12
0
        public ActionResult Index(systemGroupViewModel viewModel)
        {
            ActionResult ar;
            var          multiSelect = Request.Form[MultiSelect];

            ViewBag.projectList = PMdropdownOption.projectList();
            var projectId = Session["projectId"];

            if (projectId != null)
            {
                viewModel.editModel.projectId = new Guid(projectId.ToString());
                ViewBag.projectName           = Session["projectName"] + "";
                ViewBag.projectLock           = true;
            }
            else
            {
                return(RedirectToAction("Index", "Project"));
            }
            systemGroupViewModel tmpVM;

            viewModel.clearMsg();
            ViewBag.pageStatus = TempData[PageStatus];
            if (ViewBag.pageStatus == null)
            {
                ViewBag.pageStatus = (int)PAGE_STATUS.QUERY;
            }
            switch (viewModel.cmd)
            {
            case "query":
                if (ViewBag.pageStatus <= (int)PAGE_STATUS.QUERY)
                {
                    viewModel.errorMsg = query(ref viewModel);
                    ar = View(viewModel);
                }
                else
                {
                    ViewBag.pageStatus   = (int)PAGE_STATUS.QUERY;
                    TempData[modelName]  = null;
                    TempData[PageStatus] = ViewBag.pageStatus;
                    ar = RedirectToAction("Index");
                    return(ar);
                }
                break;

            case "add":
            case "addNew":
                viewModel.editModel  = new systemGroup();
                ViewBag.pageStatus   = (int)PAGE_STATUS.ADD;
                TempData[modelName]  = null;
                TempData[PageStatus] = ViewBag.pageStatus;
                ar = RedirectToAction("Index");
                return(ar);

            case "update":
                systemGroup sg = (from a in uow.systemGroupRepository.GetAll()
                                  where a.systemGroupId.ToString()
                                  == viewModel.singleSelect
                                  select a).FirstOrDefault();
                if (sg != null)
                {
                    tmpVM                = new systemGroupViewModel();
                    tmpVM.editModel      = sg;
                    TempData[PageStatus] = (int)PAGE_STATUS.EDIT;
                    TempData[modelName]  = tmpVM;
                    ar = RedirectToAction("Index");
                    return(ar);
                }
                else
                {
                    viewModel.errorMsg = $"error reading this {modelMessage}";
                }
                ar = View(viewModel);
                break;

            case "delete":
                if (string.IsNullOrWhiteSpace(multiSelect))
                {
                    viewModel.errorMsg = $"please select {modelMessage} to delete";
                }
                else
                {
                    string[] selected = multiSelect.Split(',');
                    foreach (string systemGroupId in selected.ToList())
                    {
                        sg = (from a in uow.systemGroupRepository.GetAll()
                              where a.systemGroupId.ToString() == systemGroupId
                              select a).FirstOrDefault();
                        if (sg == null)
                        {
                            continue;
                        }
                        uow.systemGroupRepository.Delete(sg);
                    }
                    viewModel.errorMsg = uow.SaveChanges();
                    if (string.IsNullOrWhiteSpace(viewModel.errorMsg))
                    {
                        viewModel.successMsg = "successfully deleted";
                        viewModel.errorMsg   = query(ref viewModel);
                    }
                }
                ar = View(viewModel);
                break;

            case "save":
                string err = checkForm(viewModel);
                if (err.Length > 0)
                {
                    viewModel.errorMsg = err;
                    ar = View(viewModel);
                    break;
                }
                if (ViewBag.pageStatus == (int)PAGE_STATUS.ADD)
                {
                    viewModel.editModel.createtime = DateTime.Now;
                    uow.systemGroupRepository.Insert(viewModel.editModel);
                    viewModel.errorMsg = uow.SaveChanges();
                    if (string.IsNullOrWhiteSpace(viewModel.errorMsg))
                    {
                        viewModel.successMsg = $"new {modelMessage} saved";
                        ViewBag.pageStatus   = (int)PAGE_STATUS.ADDSAVED;
                    }
                }
                else if (ViewBag.pageStatus == (int)PAGE_STATUS.EDIT)
                {
                    var qry = (from a in uow.systemGroupRepository.GetAll()
                               where a.systemGroupId
                               == viewModel.editModel.systemGroupId
                               select a).SingleOrDefault();
                    if (qry != null)
                    {
                        qry = reflectionUtl.assign <systemGroup,
                                                    systemGroup>(qry, viewModel.editModel);
                        uow.GetDbContext().Entry(qry).State
                            = EntityState.Modified;
                        viewModel.errorMsg = uow.SaveChanges();
                        if (string.IsNullOrWhiteSpace(viewModel.errorMsg))
                        {
                            viewModel.successMsg = $"{modelMessage} updated";
                            ViewBag.pageStatus   = (int)PAGE_STATUS.SAVED;
                        }
                    }
                    else
                    {
                        viewModel.errorMsg = $"{modelMessage} not found";
                    }
                }
                else
                {
                    viewModel.errorMsg = $"wrong page status " +
                                         $"{ViewBag.pageStatus}";
                }
                ar = View(viewModel);
                break;

            default:
                viewModel.errorMsg = $"unhandled command {viewModel.cmd}";
                ar = View(viewModel);
                break;
            }
            TempData[modelName]  = viewModel;
            TempData[PageStatus] = ViewBag.pageStatus;
            return(ar);
        }