Пример #1
0
        public async Task <IActionResult> AddIssue(AddNewIssueViewModel model)
        {
            if (ModelState.IsValid)
            {
                Console.WriteLine("Testing");
                var userId      = userManager.GetUserId(User);
                var currentUser = await userManager.FindByIdAsync(userId);

                var userClaims = await userManager.GetClaimsAsync(currentUser);

                Global.globalCurrentUserClaims = userClaims.ToList();

                var IsUserManagerLevel = ClaimsLevel.IsManager(userClaims.ToList(), model.NewIssue.AssociatedProject);

                if (IsUserManagerLevel && model.NewIssue.AssigneeUserId != null)
                {
                    var assignedUser = await userManager.FindByIdAsync(model.NewIssue.AssigneeUserId);

                    model.NewIssue.AssigneeUserName = assignedUser.UserName;
                }

                model.NewIssue.SubmitterId       = userManager.GetUserId(User);
                model.NewIssue.SubmitterUserName = userManager.GetUserName(User);
                model.NewIssue.CreatedTime       = DateTime.Now;

                var issue = _issueRepository.AddIssue(model.NewIssue);

                if (issue.Title == null)
                {
                    issue.Title = $"issue {issue.IssueId}";
                    _issueRepository.Update(issue);
                }

                var projectIssue = new ProjectIssue
                {
                    ProjectId = issue.AssociatedProject,
                    IssueId   = issue.IssueId
                };
                _projectRepository.AddProjectIssues(projectIssue);
                Console.WriteLine("HERERERER");

                var fileNames = new List <ScreenShots>();

                if (Global.globalInitialScreenShots == true)
                {
                    Console.WriteLine("Globally");
                    fileNames = await UploadScreenShotsToStorage(issue.IssueId);
                }

                Global.InitialScreenShots = false;
                _issueRepository.AddScreenShots(fileNames);

                Console.WriteLine(_issueRepository.ScreenShots(issue.IssueId));



                return(RedirectToAction("projectissues", "Project", new { projectId = model.NewIssue.AssociatedProject }));
            }
            return(View());
        }