public ActionResult Report(string appId) { var model = new IssueReportViewModel { AppId = appId, IssueType = string.IsNullOrWhiteSpace(appId) ? IssueType.PortalIssue : IssueType.AppIssue, YourEmail = User.GetEmailAddress() }; return(View(model)); }
public async Task <ActionResult> Report(IssueReportViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var issue = await _issueService.SaveAsync(model.IssueType, model.AppId, model.IssueDescription, model.FirstName, model.LastName, model.YourEmail); await _emailService.SendMessageForIssueReported(issue, html => { return(HttpContext.Server.HtmlEncode(html)); }); return(RedirectToRoute(SiteRouteNames.Portal)); }
public async Task <ActionResult <IssueReport> > PostIssueReport(IssueReportViewModel issueReport) { var well = await _context.Wells.Where(a => a.WellName == issueReport.WellName).FirstOrDefaultAsync(); var insertData = new IssueReport { WellId = well.Id, ProblemDescription = issueReport.ProblemDescription, SolutionDescription = issueReport.SolutionDescription, NewActivatorSerialNumber = issueReport.NewActivatorSerialNumber, NewValveSerialNumber = issueReport.NewValveSerialNumber, IsChargeable = issueReport.IsChargeable, Photo = issueReport.ImageName, OldActivatorSerialNumber = well.ActivatorSerialNumber, OldValveSerialNumber = well.ValveSerialNumber, TimeForAlarm = issueReport.TimeForAlarm, ArrivalTime = issueReport.ArrivalTime, TimeToRepair = issueReport.TimeToRepair, CreatedAt = issueReport.CreatedAt, UpdatedAt = issueReport.CreatedAt }; well.ActivatorSerialNumber = string.IsNullOrEmpty(issueReport.NewActivatorSerialNumber) ? well.ActivatorSerialNumber : issueReport.NewActivatorSerialNumber; well.ValveSerialNumber = string.IsNullOrEmpty(issueReport.NewValveSerialNumber) ? well.ValveSerialNumber : issueReport.NewValveSerialNumber; well.UpdatedAt = DateTime.UtcNow; await _context.AddAsync(well); _context.Entry(well).State = EntityState.Modified; await _context.SaveChangesAsync(); _context.IssueReports.Add(insertData); await _context.SaveChangesAsync(); // return CreatedAtAction("GetIssueReport", new { id = issueReport.Id }, issueReport); return(Ok(issueReport)); }