示例#1
0
 public ActionResult AddIssue(IssueCreateViewModel p)
 {
     //AuthenticationAndAuthorization code add here
     db.TBIssues.Add(new TBIssue {
         FDCreator = p.CreatorName, FDRepositoryID = p.RepositoryID.Value, FDIssueTitle = p.IssueTitle, FDIssueContent = p.IssueContent
     });
     db.SaveChanges();
     return(RedirectToAction("Details", "Repository", new { id = p.RepositoryID }));
 }
示例#2
0
        //[ValidateAntiForgeryToken]
        public ActionResult Create(IssueCreateViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var users = loadProjectUsersAsUserEmailViewModel(viewModel.ProjectId);
                ViewBag.AssigneeId = new SelectList(users, "Id", "Email", viewModel.AssigneeId);
                ViewBag.ProjectId  = new SelectList(_projectService.GetProjectsForUser(getLoggedUser().Id), "Id", "Title", viewModel.ProjectId);
                return(View(viewModel));
            }
            var initialState = getInitialState();

            if (initialState == null)
            {
                TempData["ErrorSQL"] = Locale.IssueStrings.ErrorMessageNoIniState;
                return(RedirectToAction("Create"));
            }

            var projectTemp = _projectService.GetProject(viewModel.ProjectId);

            if (!projectTemp.Users.Any(u => u.Id == getLoggedUser().Id))
            {
                TempData["ErrorInvalidProject"] = Locale.IssueStrings.ErrorMessageInvalidProjectCreate;
                return(RedirectToAction("Create"));
            }

            var issue = Mapper.Map <Issue>(viewModel);

            issue.StateId          = initialState.Id;
            issue.ReporterId       = getLoggedUser().Id;
            issue.Created          = DateTime.Now;
            issue.ProjectCreatedAt = projectTemp.CreatedAt;
            issue.Id         = Guid.NewGuid();
            issue.Status     = "Open";
            issue.CodeNumber = _issueService.GetNewCodeNumber();

            _issueService.Add(issue);

            return(RedirectToAction("Details", new { id = issue.Code }));
        }
示例#3
0
        public ActionResult Create(IssueCreateViewModel model, HttpPostedFileBase postedFile, string button)
        {
            //getting the userID
            string userid = "";

            if (Session["userId"] != null)
            {
                userid = Session["userId"].ToString();
            }
            int userID   = int.Parse(userid);
            int screenID = 0;
            //getting the screenshotID
            string screenShotId = "";

            if (Session["screenshotid"] != null)
            {
                screenShotId = Session["screenshotid"].ToString();
            }
            if (screenShotId != "")
            {
                screenID = int.Parse(screenShotId);
            }


            var person      = pocoDb.Fetch <tblUser>(" WHERE userID = @0", userID).FirstOrDefault();
            var createdbyId = person.userID;
            var personid    = person.PersonID.ToString();
            int personId    = Int32.Parse(personid);

            try
            {
                if (ModelState.IsValid)
                {
                    tblIssue issue = new tblIssue();
                    issue.issueTitle          = model.Issue.issueTitle;
                    issue.issueDescription    = model.Issue.issueDescription;
                    issue.solutionComponentID = model.Issue.solutionComponentID;
                    issue.issueTypeID         = model.Issue.issueTypeID;
                    issue.issueStatusID       = model.Issue.issueStatusID;
                    issue.IssueURL            = model.Issue.IssueURL;
                    issue.CreatedByID         = personId;

                    issue.IsCritical      = model.Issue.IsCritical;
                    issue.browserHeight   = model.Issue.browserHeight;
                    issue.browserWidth    = model.Issue.browserWidth;
                    issue.userAgent       = model.Issue.userAgent;
                    issue.CreatedDate     = DateTime.Now;
                    issue.issueCategoryID = 1;
                    issue.issuePriorityID = 1;
                    if (issue.issueDescription == null)
                    {
                        issue.issueDescription = "";
                    }
                    issue.solutionId = model.Issue.solutionId;
                    pocoDb.Insert(issue);
                    var issueList = pocoDb.Fetch <tblIssue>(" WHERE issueTitle=@0 and issueDescription=@1 and solutionId=@2", model.Issue.issueTitle, model.Issue.issueDescription, model.Issue.solutionId).FirstOrDefault();
                    var issueId   = issueList.issueID;
                    if (postedFile != null)
                    {
                        linkToTblattachment(issueId, postedFile);
                    }
                    if (screenShotId != "")
                    {
                        var screenattachments = pocoDb.Fetch <tblFileAttachment>(" WHERE fileID=@0", screenID).FirstOrDefault();
                        screenattachments.itemID = issueId;
                        pocoDb.Update(screenattachments);
                    }
                    if (button == "Save")
                    {
                        return(RedirectToAction("solutionIssues", "Issues", new { ID = model.Issue.solutionId }));
                    }
                    else if (button == "Save and Add another")
                    {
                        return(RedirectToAction("create", "Issues", new { h = model.Issue.browserHeight, w = model.Issue.browserWidth, b = model.Issue.userAgent, componentid = model.Issue.solutionComponentID, url = model.Issue.IssueURL, solutionid = model.Issue.solutionId }));
                    }
                    else if (button == "Save&Close")
                    {
                        return(RedirectToAction("Index", "Issues"));
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(RedirectToAction("Issues/solutionIssues/ new { id = issue.solutionId }"));
        }