Пример #1
0
 public Guid PostClientError(ClientError error)
 {
     Context.ThrowIfNull(error, ClientFaultCodes.ContentMissing, "error", "Error object is missing.");
       var errLog = Context.App.GetService<IErrorLogService>();
       Context.ThrowIfNull(errLog, ClientFaultCodes.ObjectNotFound, "ErrorLog", "Error log service not configured on server.");
       var errId = errLog.LogClientError(this.Context, error.Id, error.Message, error.Details, error.AppName, error.LocalTime);
       return errId;
 }
Пример #2
0
        public Guid PostClientError(ClientError error)
        {
            Context.ThrowIf(!EnablePublicEvents, ClientFaultCodes.InvalidAction, "EnablePublicEvents",
                            "Event info cannot be posted if user is not logged in. LogPostController.EnablePublicEvents is false.");
            Context.ThrowIfNull(error, ClientFaultCodes.ContentMissing, "error", "Error object is missing.");
            var errLog = Context.App.GetService <IErrorLogService>();

            Context.ThrowIfNull(errLog, ClientFaultCodes.ObjectNotFound, "ErrorLog", "Error log service not configured on server.");
            var errId = errLog.LogClientError(this.Context, error.Id, error.Message, error.Details, error.AppName, error.LocalTime);

            return(errId);
        }
Пример #3
0
        public void TestClientErrorPost()
        {
            var client = SetupHelper.Client;
              var clientError = new ClientError() {
            Id = Guid.NewGuid(), //optional
            AppName = "TestApp", Message = "Client Error Message", Details = "Client Error Details",
            LocalTime = SetupHelper.BooksApp.TimeService.Now.AddMinutes(-5) //pretend it happened 5 minutes ago
              };
              var serverErrorId = client.ExecutePost<ClientError, Guid>(clientError, "api/clienterrors");
              Assert.AreEqual(clientError.Id, serverErrorId, "Failed to submit client error, IDs do not match");

              //Verify record exists in database
              var serverSession = SetupHelper.BooksApp.OpenSystemSession();
              var errInfo = serverSession.GetEntity<IErrorLog>(serverErrorId);
              Assert.IsNotNull(errInfo, "Failed to get server error record.");
              Assert.AreEqual(clientError.Message, errInfo.Message, "message does not match");
              Assert.AreEqual(clientError.Details, errInfo.Details, "Details do not match");
              Assert.IsTrue(clientError.LocalTime.Value.EqualsTo(errInfo.LocalTime), "Time does not match"); //within 1 ms
        }