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 }); }
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 }); }
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 }); }