Ejemplo n.º 1
0
        public OperationResult <Guid?> DeleteAlarmMetric(Guid?id)
        {
            //Validazione argomenti
            if (!id.HasValue)
            {
                throw new ArgumentNullException(nameof(id));
            }

            //Dichiaro la listsa di risultati di ritorno
            IList <ValidationResult> vResults = new List <ValidationResult>();

            //Definisco l'entità
            AlarmMetric entity = _alarmMetricRepository.Load(id);

            //Eseguo la validazione logica
            vResults = ValidateEntity(entity);

            if (!vResults.Any())
            {
                //Salvataggio su db
                _alarmMetricRepository.Delete(entity);
            }

            //Ritorno i risultati
            return(new OperationResult <Guid?>
            {
                ReturnedValue = null,
                ValidationResults = vResults
            });
        }
Ejemplo n.º 2
0
        public IList <ProcessInstance> FetchByDevice(IList <Guid?> devices)
        {
            Process     processAlias     = null;
            Parameter   parameterAlias   = null;
            Alarm       alarmAlias       = null;
            AlarmMetric alarmMetricAlias = null;
            Device      deviceAlias      = null;

            var queryOver = Session.QueryOver <ProcessInstance>()
                            .JoinAlias(e => e.Process, () => processAlias)
                            .JoinAlias(() => processAlias.Parameters, () => parameterAlias)
                            .JoinAlias(() => parameterAlias.Alarms, () => alarmAlias)
                            .JoinAlias(() => alarmAlias.AlarmMetrics, () => alarmMetricAlias)
                            .JoinAlias(() => alarmMetricAlias.Device, () => deviceAlias)
                            .WhereRestrictionOn(() => deviceAlias.Id).IsIn(devices.ToArray());

            return(queryOver.List());
        }
Ejemplo n.º 3
0
        public OperationResult <Guid?> UpdateAlarmMetric(AlarmMetricEditDto dto)
        {
            //Validazione argomenti
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }
            if (!dto.Id.HasValue)
            {
                throw new ArgumentNullException(nameof(dto.Id));
            }

            //Dichiaro la lista di risultati di ritorno
            IList <ValidationResult> vResults = new List <ValidationResult>();

            //Definisco l'entità
            AlarmMetric entity = _alarmMetricRepository.Load(dto.Id);

            entity.Metric       = dto.Metric;
            entity.Device       = dto.Device != null && dto.Device.Id.HasValue ? _deviceRepository.Load(dto.Device.Id) : null;
            entity.Alarm        = dto.Alarm.HasValue ? _alarmRepository.Load(dto.Alarm) : null;
            entity.ThresholdMax = dto.ThresholdMax;
            entity.ThresholdMin = dto.ThresholdMin;

            //Eseguo la validazione logica
            vResults = ValidateEntity(entity);

            if (!vResults.Any())
            {
                //Salvataggio su db
                _alarmMetricRepository.Save(entity);
            }

            //Ritorno i risultati
            return(new OperationResult <Guid?>
            {
                ReturnedValue = entity.Id,
                ValidationResults = vResults
            });
        }