コード例 #1
0
        public async Task <IActionResult> ReportBug(BugReportVM model)
        {
            if (ModelState.IsValid)
            {
                if (!string.IsNullOrWhiteSpace(model.TextBug))
                {
                    await Execute();

                    _toastNotification.AddSuccessToastMessage(_localizer["Report message send succesfully!"]);
                    return(RedirectToAction(nameof(Index)));
                }

                _toastNotification.AddErrorToastMessage(_localizer["Report message can not be empty!"]);
                return(View());
            }

            async Task Execute()
            {
                var email  = Config.email;
                var key    = Config.Send_Grid_Key;
                var client = new SendGridClient(key);

                var from             = new EmailAddress("*****@*****.**", "Bug reporter");
                var subject          = "Found bug";
                var to               = new EmailAddress(email, "Dear User");
                var plainTextContent = "";

                var htmlContent = "<!DOCTYPE html><html><head><meta charset=\"UTF-8\"></head><body>" + model.TextBug;

                var msg      = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
                var response = await client.SendEmailAsync(msg);
            }

            return(View());
        }
コード例 #2
0
        public async Task <ActionResult> Index()
        {
            BugReportVM vm = await initViewModelAsync();

            ViewBag.User = User.GetLoggedInUserName();
            ViewBag.Role = User.FindFirstValue(ClaimTypes.Role);

            return(View(vm));
        }
コード例 #3
0
        private async Task <BugReportVM> initViewModelAsync()
        {
            IEnumerable <BugReport> bugReports = await _db.BugReport.ToListAsync();

            BugReportVM vm = new BugReportVM
            {
                BugReports = bugReports,
            };

            return(vm);
        }
コード例 #4
0
        public async Task <ActionResult> Edit(int id)
        {
            BugReport bugReport = await _db.BugReport.FindAsync(id);

            if (bugReport != null)
            {
                // _db.Remove(bugReport);
                // await _db.SaveChangesAsync(User.GetLoggedInUserName());
                TempData["Success"] = "!! Prozatím nefunguje !!";
                return(RedirectToAction("Index"));
            }

            TempData["Error"] = $"Nebyl nalezen záznam s ID: {id}";
            BugReportVM vm = await initViewModelAsync();

            return(View("Index", vm));
        }
コード例 #5
0
        // [HttpPost]
        public async Task <ActionResult> Delete(int id)
        {
            BugReport bugReport = await _db.BugReport.FindAsync(id);

            if (bugReport != null)
            {
                _db.Remove(bugReport);
                await _db.SaveChangesAsync(User.GetLoggedInUserName());

                TempData["Success"] = "Úspěšně smazáno";
                return(RedirectToAction("Index"));
            }

            TempData["Error"] = $"Nebyl nalezen záznam s ID: {id}";
            BugReportVM vm = await initViewModelAsync();

            return(View("Index", vm));
        }
コード例 #6
0
        public async Task <ActionResult> Index(BugReportVM vm)
        {
            BugReport bugReport = vm.BugReport;

            bugReport.CreatedBy    = User.GetLoggedInUserName();
            bugReport.CreatedDate  = DateTime.Now;
            bugReport.ModifiedBy   = bugReport.CreatedBy;
            bugReport.ModifiedDate = bugReport.CreatedDate;

            if (ModelState.IsValid)
            {
                await _db.AddAsync(bugReport);

                await _db.SaveChangesAsync(User.GetLoggedInUserName());

                TempData["Success"] = "Úspěšně přidáno";

                return(RedirectToAction("Index"));
            }

            TempData["Error"] = "Nějaká chyba... Tož... Co se děje?";

            return(View(vm));
        }
コード例 #7
0
        public BugReportWindow(string reportType, string prompt, string logPath)
        {
            InitializeComponent();

            VM = new BugReportVM(reportType, prompt, logPath);
        }