示例#1
0
        public void ShouldMapMetricToDto()
        {
            //Arrange
            var mapping = new Mapping();
            var source  = new Metric
            {
                MetricId    = 1,
                DataType    = "integer",
                Description = "Test Metric",
                DisplayName = "Test Metric",
                Mnemonic    = "TestMetric",
                Group       = new MetricGroup
                {
                    GroupName = "Test Group",
                    GroupId   = 1,
                }
            };
            //Act
            MetricDto destination = mapping.MetricToDto(source);

            //Assert
            Assert.IsNotNull(destination);
            Assert.IsInstanceOfType(destination, typeof(MetricDto));
            Assert.AreNotEqual(source, destination);
            Assert.AreEqual(source.Group, destination.Group);
            Assert.AreEqual(source.MetricId, destination.MetricId);
            Assert.AreEqual(source.DataType, destination.DataType);
            Assert.AreEqual(source.Description, destination.Description);
            Assert.AreEqual(source.DisplayName, destination.DisplayName);
        }
示例#2
0
        public void Process(int siteCode)
        {
            var manifests = _manifestRepository.GetStaged(siteCode).ToList();

            if (manifests.Any())
            {
                var communityManifests = manifests.Where(x => x.EmrSetup == EmrSetup.Community).ToList();

                var otherManifests = manifests.Where(x => x.EmrSetup != EmrSetup.Community).ToList();

                try
                {
                    if (otherManifests.Any())
                    {
                        _manifestRepository.ClearFacility(otherManifests);
                    }
                }
                catch (Exception e)
                {
                    Log.Error("Clear MANIFEST ERROR ", e);
                }

                try
                {
                    if (communityManifests.Any())
                    {
                        _manifestRepository.ClearFacility(communityManifests, "IRDO");
                    }
                }
                catch (Exception e)
                {
                    Log.Error("Clear COMMUNITY MANIFEST ERROR ", e);
                }

                foreach (var manifest in manifests)
                {
                    var clientCount = _manifestRepository.GetPatientCount(manifest.Id);
                    _liveSyncService.SyncManifest(manifest, clientCount);

                    try
                    {
                        // Get MasterFacility
                        var masterFacility = _masterFacilityRepository.GetBySiteCode(manifest.SiteCode);

                        if (null != masterFacility)
                        {
                            // Sync Metrics
                            var metricDtos = MetricDto.Generate(masterFacility, manifest);
                            _liveSyncService.SyncMetrics(metricDtos);
                        }
                    }
                    catch (Exception e)
                    {
                        Log.Error(e.Message);
                    }
                }
            }
        }
示例#3
0
        public Metric DtoToMetric(MetricDto dto)
        {
            var metric = new Metric();

            metric.DataType    = dto.DataType;
            metric.DisplayName = dto.DisplayName;
            metric.Description = dto.Description;
            metric.Group       = dto.Group;
            metric.MetricId    = dto.MetricId;
            metric.Mnemonic    = dto.Mnemonic;
            return(metric);
        }
示例#4
0
        public MetricDto MetricToDto(Metric metric)
        {
            var dto = new MetricDto();

            dto.Description = metric.Description;
            dto.DisplayName = metric.DisplayName;
            dto.DataType    = metric.DataType;
            dto.Mnemonic    = metric.Mnemonic;
            dto.MetricId    = metric.MetricId;
            dto.Group       = metric.Group;
            return(dto);
        }
示例#5
0
 public static MetricInfo GetMetricInfo(MetricDto dto)
 {
     if (dto == null)
     {
         return(null);
     }
     return(new MetricInfo()
     {
         ActualDate = dto.ActualDate,
         BeginDate = dto.BeginDate,
         ComponentId = dto.ComponentId,
         Name = dto.Name,
         Status = dto.Status,
         Value = dto.Value
     });
 }
        public void Process()
        {
            var manifests = _manifestRepository.GetStaged().ToList();

            if (manifests.Any())
            {
                try
                {
                    _manifestRepository.ClearFacility(manifests);
                }
                catch (Exception e)
                {
                    Log.Error("Clear MANIFEST ERROR ", e);
                }

                foreach (var manifest in manifests)
                {
                    var clientCount = _manifestRepository.GetPatientCount(manifest.Id);
                    _liveSyncService.SyncManifest(manifest, clientCount);

                    try
                    {
                        // Get MasterFacility
                        var masterFacility = _masterFacilityRepository.GetBySiteCode(manifest.SiteCode);

                        if (null != masterFacility)
                        {
                            // Sync Metrics
                            var metricDtos = MetricDto.Generate(masterFacility, manifest);
                            _liveSyncService.SyncMetrics(metricDtos);
                        }
                    }
                    catch (Exception e)
                    {
                        Log.Error(e.Message);
                    }
                }
            }
        }
 public async Task AddStat(MetricDto input)
 {
     var mapped = input.MapTo <MetricElement>();
     await _metricElementRepository.InsertAndGetIdAsync(mapped);
 }
示例#8
0
 public MetricResponse(MetricDto metricDto)
 {
     MetricDtos = new List <MetricDto> {
         metricDto
     };
 }