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()); }
public override async Task <UpdateIssueRequest> HandleAsync(UpdateIssueRequest command, CancellationToken cancellationToken = new CancellationToken()) { var result = await _issueRepository.GetIssue(command.LibraryId, command.PeriodicalId, command.VolumeNumber, command.IssueNumber, cancellationToken); if (result == null) { var Issue = command.Issue; Issue.Id = default(int); command.Result.Issue = await _issueRepository.AddIssue(command.LibraryId, command.PeriodicalId, Issue, cancellationToken); command.Result.HasAddedNew = true; } else { result.IssueNumber = command.Issue.IssueNumber; result.VolumeNumber = command.Issue.VolumeNumber; result.IssueDate = command.Issue.IssueDate; await _issueRepository.UpdateIssue(command.LibraryId, command.PeriodicalId, result, cancellationToken); command.Result.Issue = command.Issue; } command.Issue.PeriodicalId = command.PeriodicalId; return(await base.HandleAsync(command, cancellationToken)); }
public ActionResult Add(AddIssueModel model) { if (ModelState.IsValid) { _repository.AddIssue(model); return(RedirectToAction("List")); } return(View(model)); }
public override async Task <AddIssueRequest> HandleAsync(AddIssueRequest command, CancellationToken cancellationToken = new CancellationToken()) { var issue = await _issueRepository.GetIssue(command.LibraryId, command.PeriodicalId, command.Issue.VolumeNumber, command.Issue.IssueNumber, cancellationToken); if (issue != null) { throw new ConflictException(); } command.Result = await _issueRepository.AddIssue(command.LibraryId, command.PeriodicalId, command.Issue, cancellationToken); return(await base.HandleAsync(command, cancellationToken)); }
public async Task <ActionResult> CreateIssue(MyIssuesViewModel myIssuesViewModel) { if (ModelState.IsValid) { Issue issue = myIssuesViewModel.Issue; issue.Created = DateTime.UtcNow.ToString(); issue.Updated = issue.Created; issue.Users = new List <string>(); if (myIssuesViewModel.IssueImages != null) { foreach (var image in myIssuesViewModel.IssueImages) { if (image.Length > 0) { using (var ms = new MemoryStream()) { image.CopyTo(ms); var fileBytes = ms.ToArray(); string fileString = Convert.ToBase64String(fileBytes); // act on the Base64 data issue.ScreenshotArray = fileBytes; issue.ScreenshotString = fileString; } } } } await _issueRepository.AddIssue(issue); var selectedProject = await _projectRepository.GetProject(issue.ProjectIDCode.Split(':')[0]); selectedProject.Issues.Add(issue.IDCode + ":" + issue.Title); await _projectRepository.Update(selectedProject); if (issue.AddUsers != null) { foreach (var user in issue.AddUsers) { var User = await _userRepository.GetUser(user); await _projectManagementController.AddorRmove("Add", "Issue", User, selectedProject, issue, GetAuthorizationToken()); // add param to say its adding for issue } } } return(RedirectToAction("Index")); }
public async Task <ActionResult <ClientIssue> > AddIssue(ClientIssue newIssue) { return(await ir.AddIssue(HttpContext.Items["UserID"].ToString(), newIssue)); }