예제 #1
0
        public OperationResult <object> CreateInviteFriend(InviteFriendDto dto)
        {
            //Validazione argomenti
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

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

            //Definisco l'entità
            InviteFriend entity = new InviteFriend();

            entity.Firstname       = dto.Firstname;
            entity.Surname         = dto.Surname;
            entity.Email           = dto.Email;
            entity.ProcessInstance = dto.ProcessInstanceId.HasValue ? _processInstanceRepository.Load(dto.ProcessInstanceId) : null;
            entity.ShowFrequenza   = dto.ShowFrequenza;
            entity.ShowGlicemia    = dto.ShowGlicemia;
            entity.ShowPeso        = dto.ShowPeso;
            entity.ShowPressione   = dto.ShowPressione;
            entity.ShowTemperatura = dto.ShowTemperatura;
            entity.ShowOssigeno    = dto.ShowOssigeno;
            entity.ShowCamera      = dto.ShowCamera;

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

            if (!vResults.Any())
            {
                //Creo l'utente di sistema per l'accesso
                UserDto user = new UserDto();
                user.Email     = dto.Email;
                user.Firstname = dto.Firstname;
                user.Surname   = dto.Surname;
                user.Username  = dto.Email;

                var userResult = _accountService.Register(user, null);
                if (userResult.HasErrors())
                {
                    return(userResult);
                }

                //Salvataggio su db
                _inviteFriendRepository.Save(entity);
            }

            //Ritorno i risultati
            return(new OperationResult <object>
            {
                ReturnedValue = entity.Id,
                ValidationResults = vResults
            });
        }
예제 #2
0
        public OperationResult <Guid?> CreateAlarmFired(AlarmFiredEditDto dto)
        {
            //Validazione argomenti
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

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

            Alarm alarm = dto.AlarmId.HasValue ? _alarmRepository.Load(dto.AlarmId):null;

            //Definisco l'entità
            AlarmFired entity = new AlarmFired();

            entity.IsActive         = true;
            entity.Parameter        = dto.ParameterId.HasValue ? _parameterRepository.Load(dto.ParameterId) : null;
            entity.ProcessInstance  = dto.ProcessInstanceId.HasValue ? _processInstanceRepository.Load(dto.ProcessInstanceId) : null;
            entity.AlarmColor       = dto.AlarmColor;
            entity.Result           = dto.Result;
            entity.Alarm            = dto.AlarmId.HasValue ? _alarmRepository.Load(dto.AlarmId) : null;
            entity.ResolvingNotes   = alarm?.HelpMessage;
            entity.IsFall           = !dto.Fall.HasValue ? false : dto.Fall;
            entity.IsFallNoResponse = !dto.FallNoResponse.HasValue? false: dto.FallNoResponse;
            entity.Latitude         = dto.Latitude;
            entity.Longitude        = dto.Longitude;
            entity.Patient          = string.Format("{0} {1}", entity.ProcessInstance.Patient.Firstname, entity.ProcessInstance.Patient.Surname);
            entity.PatientFeedback  = dto.PatientFeedback;
            entity.InsertUser       = IdentityHelper.GetUsername();

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

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

            //Ritorno i risultati
            return(new OperationResult <Guid?>
            {
                ReturnedValue = entity.Id,
                ValidationResults = vResults
            });
        }
예제 #3
0
        public OperationResult <Guid?> UpdateProcessInstance(ProcessInstanceEditDto 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>();

            var oResult = _processService.UpdateProcess(dto.Process);

            if (oResult.HasErrors())
            {
                return(oResult);
            }

            //Definisco l'entità
            ProcessInstance entity = _processInstanceRepository.Load(dto.Id);

            entity.Name    = dto.Name;
            entity.Patient = dto.Patient.HasValue ? _registryRepository.Load(dto.Patient) : null;
            entity.Process = _processService.Load <Process, Guid?>(oResult.ReturnedValue);

            entity.Doctors.Clear();
            if (dto.Doctors != null && dto.Doctors.Count() > 0)
            {
                foreach (var doctor in dto.Doctors)
                {
                    Registry doctorEntity = _registryRepository.Load(doctor.Id);
                    entity.Doctors.Add(doctorEntity);
                }
            }

            entity.ReferencePersons.Clear();
            if (dto.ReferencePersons != null && dto.ReferencePersons.Count() > 0)
            {
                foreach (var referencePerson in dto.ReferencePersons)
                {
                    Registry referencePersonEntity = _registryRepository.Load(referencePerson.Id);
                    entity.ReferencePersons.Add(referencePersonEntity);
                }
            }

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

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

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