Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }