Пример #1
0
        public EditAlertmanager()
        {
            BindingContext = this;
            InitializeComponent();

            BindingContext = new AlertNotificationViewModel(Navigation);
        }
Пример #2
0
        public IActionResult Alert()
        {
            var model = new AlertNotificationViewModel()
            {
                AffectedSystem     = "AffectedSystem",
                ErrorDetail        = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                KeeperName         = "KeeperName",
                TicketLink         = "TestTicketLink.com",
                OccurrenceDateTime = DateTime.Now
            };

            return(View(model));
        }
        public async Task <IActionResult> PostAsync(AlertNotification request)
        {
            var model = new AlertNotificationViewModel()
            {
                AffectedSystem     = request.AffectedSystem,
                ErrorDetail        = request.ErrorDetail,
                OccurrenceDateTime = request.OccurrenceDateTime,
                TicketLink         = request.TicketLink
            };
            var plainTextContent = base._plainTextContentRenderer.RenderModelToString(new
            {
                Sistema  = model.AffectedSystem,
                Data     = model.OccurrenceDateTime.Date,
                Hora     = $"{model.OccurrenceDateTime.Hour}:{model.OccurrenceDateTime.Minute}:{model.OccurrenceDateTime.Second}.",
                Detalhes = model.ErrorDetail,
                Ticket   = model.TicketLink,
            });

            foreach (var keeper in request.Keepers)
            {
                model.KeeperName = keeper.Name;
                var htmlContent = await base._viewRenderer.RenderViewToString("Views/Admin/Alert.cshtml", model);

                var emailDetail = new EmailDetail()
                {
                    ToEmail          = keeper.Email,
                    ToName           = keeper.Name,
                    Subject          = $"[Alert From System {request.AffectedSystem}]",
                    PlainTextContent = plainTextContent,
                    HtmlContent      = htmlContent,
                    FromEmail        = request.CompanyEmail,
                    FromName         = request.CompanyName,
                };

                await base._emailService.SendEmail(emailDetail);
            }
            return(Ok());
        }