public ActionResult AddKeyboard( KeyboardModel keyboard ) { IActivityMonitor m = new ActivityMonitor(); KeyboardPostError err = KeyboardPostError.None; string uploadedFolderPath = AppSettings.Default.GetRequired<string>( "UploadFolderPath" ); using( m.OpenInfo().Send( "Try AddKeyboard" ) ) { if( ModelState.IsValid ) { if( Request.Files.Count > 0 ) { string filePath = Path.Combine( uploadedFolderPath, String.Format( "{0}-{1}", keyboard.Name, Guid.NewGuid() ) ); Request.Files[0].SaveAs( filePath ); using( m.OpenInfo().Send( "Sending Keyboard submitted mail to {0}", DestinationEmail ) ) { var model = new KeyboardSubmittedMailModel() { Name = keyboard.Name, Description = keyboard.Description, Email = keyboard.Email, Author = keyboard.Author }; try { IMailerService mailer = new CK.Mailer.DefaultMailerService( activityLogger: m ); mailer.SendMail( model, new RazorMailTemplateKey( "KeyboardSubmitted" ), new Recipient( DestinationEmail ) ); } catch( Exception ex ) { m.Error().Send( ex, "Email : {0}, Subject : {1}, Name : {2}, Description : {3}, Author : {4}", model.Email, model.Subject, model.Name, model.Description, model.Author ); } } } else { err = KeyboardPostError.MissingPicture; m.Error().Send( "Missing file." ); } } else { err = KeyboardPostError.InvalidForm; m.Error().Send( "InvalidForm" ); } return Json( new { valid = false, error = err, keyboard = keyboard } ); } }
public ActionResult Support( SupportEmailViewModel model ) { IActivityMonitor m = new ActivityMonitor(); if( ModelState.IsValid ) { using (m.OpenInfo().Send( "Sending Support mail to {0}", ConfigurationManager.AppSettings.Get( "DestinationEmail" ) )) { try { IMailerService mailer = new DefaultMailerService( m ); mailer.SendMail( model, new RazorMailTemplateKey( "SupportEmail" ), new Recipient( ConfigurationManager.AppSettings.Get( "DestinationEmail" ) ) ); } catch (Exception ex) { m.Error().Send( ex, "Email : {0}, Subject : {1}, Body : {2}", model.Email, model.Subject, model.Body ); return PartialView( "_EmailNotSent." + RouteData.Values["culture"], model ); } } return PartialView( "_EmailSent." + RouteData.Values["culture"] ); } return PartialView( "_Form." + RouteData.Values["culture"], model ); }
static void DumpSampleLogs2( Random r, GrandOutput g ) { var m = new ActivityMonitor( false ); g.Register( m ); m.Fatal().Send( ThrowExceptionWithInner( false ), "An error occured" ); m.SetTopic( "This is a topic..." ); m.Trace().Send( "a trace" ); m.Trace().Send( "another one" ); m.SetTopic( "Please, show this topic!" ); m.Trace().Send( "Anotther trace." ); using( m.OpenTrace().Send( "A group trace." ) ) { m.Trace().Send( "A trace in group." ); m.Info().Send( "An info..." ); using( m.OpenInfo().Send( @"A group information... with a multi -line message. This MUST be correctly indented!" ) ) { m.Info().Send( "Info in info group." ); m.Info().Send( "Another info in info group." ); m.Error().Send( ThrowExceptionWithInner( true ), "An error." ); m.Warn().Send( "A warning." ); m.Trace().Send( "Something must be said." ); m.CloseGroup( "Everything is in place." ); } } m.SetTopic( null ); using( m.OpenTrace().Send( "A group with multiple conclusions." ) ) { using( m.OpenTrace().Send( "A group with no conclusion." ) ) { m.Trace().Send( "Something must be said." ); } m.CloseGroup( new[] { new ActivityLogGroupConclusion( "My very first conclusion." ), new ActivityLogGroupConclusion( "My second conclusion." ), new ActivityLogGroupConclusion( @"My very last conclusion is a multi line one. and this is fine!" ) } ); } m.Trace().Send( "This is the final trace." ); }
public ActionResult DownloadSubscription( DownloadFormViewModel model ) { if( ModelState.IsValid ) { IActivityMonitor m = new ActivityMonitor(); CKTrait trait = ActivityMonitor.Tags.Register( "downloadSubscriber" ); using( m.OpenInfo().Send( trait, "Download: Email: {0}", model.Email ) ) { return PartialView( "_Thanks" ); } } return PartialView( "_DownloadModal", model ); }
public ActionResult Support( SupportEmailViewModel model ) { IActivityMonitor m = new ActivityMonitor(); if( ModelState.IsValid ) { using( m.OpenInfo().Send( "Sending Support mail to {0}", DestinationEmail ) ) { try { IMailerService mailer = new CK.Mailer.DefaultMailerService( m ); mailer.SendMail( model, new RazorMailTemplateKey( "SupportEmail" ), new Recipient( DestinationEmail ) ); } catch( Exception ex ) { m.Error().Send( ex, "Email : {0}, Subject : {1}, Body : {2}", model.Email, model.Subject, model.Body ); return PartialView( "_EmailNotSent", model ); } } return PartialView( "_EmailSent" ); } return PartialView( "_Form", model ); }