Exemple #1
0
        private IResponse <T> ExecuteCommand <T>(DataSet ds, ICriterion criterion) where T : class, new()
        {
            IResponse <T> response = null;
            IRequest <T>  request  = new Message <T>(Context, ModelActionOption.ExecuteCommand)
            {
                Criterion = criterion
            };

            if (eXtensibleConfig.CaptureMetrics)
            {
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.Scope.ModelRequestService.Begin, DateTime.Now));
            }

            response = Service.ExecuteCommand <T>(request);

            if (eXtensibleConfig.CaptureMetrics)
            {
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Context.RequestEnd, DateTime.Now));
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.StatusCode, response.Status.Code));
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.StatusDesc, response.Status.Description));
                eXMetric metric = response.ToMetric();
                EventWriter.WriteMetric(metric);
            }

            return(response);
        }
Exemple #2
0
        private IResponse <T> Post <T>(T model) where T : class, new()
        {
            IResponse <T> response = null;
            IRequest <T>  request  = new Message <T>(Context, ModelActionOption.Post)
            {
            };

            request.Model = model;
            response      = Service.Post <T>(request);

            if (eXtensibleConfig.CaptureMetrics && !typeof(T).IsSubclassOf(typeof(eXBase)))
            {
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Context.RequestEnd, DateTime.Now));
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.StatusCode, response.Status.Code));
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.StatusDesc, response.Status.Description));
                eXMetric metric = response.ToMetric();
                EventWriter.WriteMetric(metric);
            }

            return(response);
        }
Exemple #3
0
        private IResponse <T, U> ExecuteMany <T, U>(IEnumerable <T> list, ICriterion criterion) where T : class, new()
        {
            IResponse <T, U> response = null;
            IRequest <T>     request  = new Message <T, U>(Context, ModelActionOption.ExecuteMany)
            {
                Criterion = criterion
            };

            //request.Model = list;
            request.Content = list;
            response        = Service.ExecuteMany <T, U>(request);

            if (eXtensibleConfig.CaptureMetrics)
            {
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Context.RequestEnd, DateTime.Now));
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.StatusCode, response.Status.Code));
                ((Message <T>)request).Items.Add(new TypedItem(XFConstants.Metrics.StatusDesc, response.Status.Description));
                eXMetric metric = response.ToMetric();
                EventWriter.WriteMetric(metric);
            }

            return(response);
        }