Example #1
0
 public ActionResult Entrega(string opnumber)
 {
     if (opnumber != null)
     {
         MetricsRepository          metrics   = new MetricsRepository();
         DiboRepository             dibo      = new DiboRepository();
         OrdenDeProduccionViewModel viewModel = new OrdenDeProduccionViewModel();
         try
         {
             OrdenDeProduccion ordenDeProduccion = metrics.GetByOp(opnumber);
             viewModel.transactionMessage = ordenDeProduccion == null ?
                                            "No existe una orden de producción con el valor "
                                            + opnumber.ToString().Trim() : "";
             viewModel.ordenDeProduccion = ordenDeProduccion ?? new OrdenDeProduccion();
             viewModel.OPHistorial       = dibo.Consult(opnumber);
         }
         catch (Exception e)
         {
             viewModel.transactionMessage = "Se ha presentado un error en la búsqueda" +
                                            " de la orden de producción, favor contactar a los administradores de la página";
         }
         finally
         {
             metrics.Dispose();
             dibo.Dispose();
         }
         return(View(viewModel));
     }
     return(View());
 }
Example #2
0
 public UnitOfWork()
 {
     _context       = new ApplicationDb();
     Activity       = new ActivityRepository(_context);
     Metrics        = new MetricsRepository(_context);
     Queue          = new QueueRepository(_context);
     Notification   = new NotificationRepository(_context);
     Settings       = new SettingsRepository(_context);
     CRUDRepository = new GenericRepository(_context);
 }
        public MetricsService(
            MetricsRepository metricsRepo,
            MetricsEntryRepository metricsEntryRepo,
            RelationService relationService,
            TaxonomyTree taxonomyTree,
            ILog log)
        {
            this.metricsRepo = metricsRepo;
            this.metricsEntryRepo = metricsEntryRepo;
            this.relationService = relationService;
            this.log = log;

            relationNode = taxonomyTree.GetOrCreatePath(RELATIONS_PATH, "MetricsRepository relations");
        }
Example #4
0
        public MetricsService(
            MetricsRepository metricsRepo,
            MetricsEntryRepository metricsEntryRepo,
            RelationService relationService,
            TaxonomyTree taxonomyTree,
            ILog log)
        {
            this.metricsRepo      = metricsRepo;
            this.metricsEntryRepo = metricsEntryRepo;
            this.relationService  = relationService;
            this.log = log;

            relationNode = taxonomyTree.GetOrCreatePath(RELATIONS_PATH, "MetricsRepository relations");
        }
 public List <WebServiceMetricsRunDto> GetMetricRuns()
 {
     using (var repository = new MetricsRepository())
     {
         return(repository.GetMetricsRuns()
                .Select(x => new WebServiceMetricsRunDto()
         {
             MetricRunId = x.MetricRunId,
             NumberOfRequestsToSend = x.NumberOfRequestsToSend,
             RequestBody = x.RequestBody,
             RequestUrl = x.RequestUrl
         })
                .ToList());
     }
 }
        private static async Task MeasureRequest(SemaphoreSlim semaphore, WebServiceMetricsRequest request, WebServiceMetricsResponse response)
        {
            try
            {
                var httpClient = new HttpClient();
                var uri        = new Uri(request.RequestUrl);
                var sw         = new Stopwatch();

                sw.Start();
                var wsResponse = await httpClient.PostAsync(uri, new StringContent(request.RequestBody, Encoding.Unicode, "application/json"));

                sw.Stop();

                var metricsResultEntity = new MetricsResult()
                {
                    MetricsRunId = response.WebServiceMetricsRunId,
                    TimeElapsedInMilliseconds = (int)sw.ElapsedMilliseconds,
                    Result = wsResponse.StatusCode.ToString()
                };

                //use separate repository each time since .NET/EF Core cannot multi-thread the same DbContext...
                using (var repository = new MetricsRepository())
                {
                    await repository.SaveMetricsResult(metricsResultEntity);
                }

                response.WebServiceMetricsResults.Add(new WebServiceMetricsResultDto
                {
                    TimeElapsedInMilliseconds = metricsResultEntity.TimeElapsedInMilliseconds.ToString()
                });
            }
            catch (Exception ex)
            {
                response.WebServiceMetricsResults.Add(new WebServiceMetricsResultDto()
                {
                    ErrorMessage = ex.Message
                });
            }
            finally
            {
                semaphore.Release();
            }
        }
        public async Task <WebServiceMetricsResponse> RunMetrics(WebServiceMetricsRequest request)
        {
            var response = new WebServiceMetricsResponse
            {
                WebServiceMetricsRequestMeasured = request
            };

            var metricsRunEntity = new MetricsRun()
            {
                RequestBody            = request.RequestBody,
                RequestUrl             = request.RequestUrl,
                NumberOfRequestsToSend = request.NumberOfRequestsToSend
            };

            using (var repository = new MetricsRepository())
            {
                metricsRunEntity = await repository.SaveMetricsRun(metricsRunEntity);
            }

            response.WebServiceMetricsRunId = metricsRunEntity.MetricRunId;

            var tasks = new List <Task>();

            using (var semaphore = new SemaphoreSlim(10))
            {
                for (int i = 0; i < request.NumberOfRequestsToSend; i++)
                {
                    await semaphore.WaitAsync();

                    tasks.Add(MeasureRequest(semaphore, request, response));
                }
                await Task.WhenAll(tasks);
            }

            return(response);
        }
Example #8
0
        /// <summary>
        /// Method to get the list of cancelled registered user by filter
        /// </summary>
        /// <returns>List of Registration Report Model</returns>
        public List <RegistrationReportModel> getCancelledRegistration(List <string> StarsIdList = null, List <decimal?> EventIdList = null)
        {
            MetricsRepository _mericsReg = new MetricsRepository();

            return(_mericsReg.getCancelledRegistration(StarsIdList, EventIdList));
        }
Example #9
0
        /// <summary>
        /// Method to get the list of cancelled registrations by Market/Event
        /// </summary>
        /// <returns>List of Registration Report Model</returns>
        public List <RegistrationReportModel> getCancelledByMarketEvent(string market, decimal _event)
        {
            MetricsRepository _mericsReg = new MetricsRepository();

            return(_mericsReg.getCancelledByMarketEvent(market, _event));
        }
Example #10
0
        /// <summary>
        /// Method to get the registration by stars/event
        /// </summary>
        /// <param name="starsId">string</param>
        /// <param name="eventId">decimal</param>
        /// <returns>Registration Report Model</returns>
        public RegistrationReportModel getRegistrationByStarsEvent(string starsId, decimal?eventId)
        {
            MetricsRepository _mericsReg = new MetricsRepository();

            return(_mericsReg.getRegistrationByStarsEvent(starsId, eventId));
        }
Example #11
0
        /// <summary>
        /// Method to get the list of registered user by market/event
        /// </summary>
        /// <param name="market">string</param>
        /// <param name="eventid">decimal</param>
        /// <returns>List of Registration Report Model</returns>
        public List <RegistrationReportModel> getRegistrationByMarketEvent(string market, decimal eventid)
        {
            MetricsRepository _mericsReg = new MetricsRepository();

            return(_mericsReg.getRegistrationByMarketEvent(market, eventid));
        }
Example #12
0
        /// <summary>
        /// Method to get the list of registered user Attendance by market/event
        /// </summary>
        /// <param name="market">string</param>
        /// <param name="eventid">decimal</param>
        /// <returns>list of Attendance Report Model</returns>
        public List <AttendanceReportModel> getAttendanceByMarketEvent(string market, decimal eventid)
        {
            MetricsRepository _mericsAtt = new MetricsRepository();

            return(_mericsAtt.getAttendanceByMarketEvent(market, eventid));
        }