public async Task <IActionResult> Add([FromBody] CreateIssue model) //, List<IFormFile> files { try { if (ModelState.IsValid) { var previousVersion = issueManager.GetIssue(model.Id); var newVersion = await issueManager.SaveIssue(model, null); var issueActivity = issueManager.SaveActivity(model, previousVersion, newVersion); //if ((files != null) && (files.Any())) //{ // int fileCounter = 0; // foreach (var file in files) // { // // fileCounter = SaveAttachedDocument(model, result, fileCounter, file); // } //} if (model.IncludeIssueInResponse) { var newIssue = issueManager.GetIssue(newVersion.Id); return(Json(new { Status = "Success", Data = newIssue })); } return(Json(new { Status = "Success" })); } } catch (MissingSettingsException mex) { return(Json(new { Status = "Error", Message = String.Format("You need to set a value for {0} first.", mex.MissingSettingName) })); } catch (Exception ex) { // bErrorStore.LogException(ex, Request.HttpContext); return(Json(new { Status = "Error", Message = "Error saving issue" })); } return(View(model)); }
public async Task <IActionResult> Add(CreateIssue model) { try { if (ModelState.IsValid) { var previousVersion = await _issueManager.GetIssue(model.Id); var newVersion = await _issueManager.SaveIssue(model, null); var issueActivity = _issueManager.SaveActivity(model, previousVersion, newVersion); //ConnectionManager c = new ConnectionManager(new DefaultDependencyResolver()); // var context = c.GetHubContext<IssuesHub>(); // context.Clients.All.addNewTeamActivity(issueActivity); if ((model.Files != null) && (model.Files.Any())) { foreach (var file in model.Files) { var fileName = Path.GetFileName(file.FileName); using (var s = file.OpenReadStream()) { var uploadResult = await _uploadHandler.UploadFile(fileName, MimeMapping.GetMimeMapping(fileName), s); if (!String.IsNullOrEmpty(uploadResult.Url)) { uploadResult.ParentId = model.Id; uploadResult.CreatedById = this._userSessionHelper.UserId; uploadResult.Type = "Issue"; await this._uploadManager.SaveUpload(uploadResult); } } } } if (previousVersion != null) { } if (model.IncludeIssueInResponse) { var newIssue = _issueManager.GetIssue(newVersion.Id); return(Json(new { Status = "Success", Data = newIssue })); } var newIssueUrl = this._urlHelper.Action("Details", new { id = newVersion.Id }); return(Json(new { Status = "Success", Url = newIssueUrl })); } else { var validationErrors = new List <string>(); foreach (var modelStateVal in ViewData.ModelState.Values) { validationErrors.AddRange(modelStateVal.Errors.Select(error => error.ErrorMessage)); } return(Json(new { Status = "Error", Message = "Validation failed", Errors = validationErrors })); } } catch (MissingSettingsException mex) { return(Json(new { Status = "Error", Message = String.Format("You need to set a value for {0} first.", mex.MissingSettingName) })); } catch (Exception ex) { tc.TrackException(ex); return(Json(new { Status = "Error", Message = "Error saving issue" })); } }
public ActionResult Add(CreateIssue model, List <HttpPostedFileBase> files) { try { if (ModelState.IsValid) { var previousVersion = issueManager.GetIssue(model.Id); var newVersion = issueManager.SaveIssue(model, files); var issueActivity = issueManager.SaveActivity(model, previousVersion, newVersion); var context = GlobalHost.ConnectionManager.GetHubContext <IssuesHub>(); if (issueActivity != null) { context.Clients.Group(TeamID.ToString()).addNewTeamActivity(issueActivity); context.Clients.Group(TeamID.ToString()).addIssueToIssueList(newVersion); //update the dashboard var dashboardSummary = issueManager.GetDashboardSummaryVM(issueActivity.TeamId); context.Clients.Group(TeamID.ToString()).updateDashboardSummary(dashboardSummary); } if (Request.IsAjaxRequest()) { if (model.Id == 0) { // var issueVM = issueService.GetIssueVM(issue); // context.Clients.Group(TeamID.ToString()).addIssueToIssueList(issueVM); //issueService.SendEmailNotificationsToSubscribers(issue, TeamID, UserID, SiteBaseURL); } return(Json(new { Status = "Success" })); } if ((files != null) && (files.Any())) { int fileCounter = 0; foreach (var file in files) { // fileCounter = SaveAttachedDocument(model, result, fileCounter, file); } } if (model.IsFromModalWindow) { if (Request.UrlReferrer != null) { return(Redirect(Request.UrlReferrer.AbsoluteUri)); } } return(RedirectToAction("Index")); } } catch (MissingSettingsException mex) { log.Debug(mex); return(Json(new { Status = "Error", Message = String.Format("You need to set a value for {0} first.", mex.MissingSettingName) })); } catch (Exception ex) { log.Error(ex); if (Request.IsAjaxRequest()) { return(Json(new { Status = "Error", Message = "Error saving issue" })); } } LoadDropDownsForCreate(model); return(View(model)); }