public bool Confirm() { try { if (EventSituation == null) { ShowMessage("Selecione a situação"); } else { DispositionCodeModel dispositionCode = GetDispositionCode(); if (dispositionCode != null && !string.IsNullOrEmpty(dispositionCode.Id)) { if (!IsSubmitted) { if (EventSituation == EventSituationEnum.NotFound) { VictimData = new VictimModel(); } else { if (AsExpected == false) { if (string.IsNullOrEmpty(VictimData.SituationFound.Key)) { ShowMessage("Favor selecionar a situação encontrada."); return(false); } } else { VictimData.SituationFound = new KeyValuePair <string, string>(); } } SubmissionBusiness.ExecuteCadUpdates(UnitId, AgencyEventId, EventSituation.Value, dispositionCode, Remarks, SelectedHospital, VictimData); } else { if (string.IsNullOrEmpty(VictimData.Name.Trim())) { ShowMessage("Favor inserir o nome da vítima."); return(false); } if (VictimData.Age != null) { if (VictimData.AgeType == null || VictimData.AgeType == 0) { ShowMessage("Favor selecionar um tipo de idade válido para a vítima."); return(false); } } if (VictimData.AgeType != null && VictimData.AgeType.Value > 0) { if (VictimData.Age == null) { ShowMessage("Favor informar uma idade válida para a vítima."); return(false); } } if (AsExpected == false) { if (string.IsNullOrEmpty(VictimData.SituationFound.Key)) { ShowMessage("Favor selecionar a situação encontrada."); return(false); } } else { VictimData.SituationFound = new KeyValuePair <string, string>(); } string selectedHospitalName = SelectedHospital != null ? SelectedHospital.Name : string.Empty; SubmissionBusiness.ExecuteCadEndUpdates(UnitId, AgencyEventId, EventSituation.Value, dispositionCode, Remarks, selectedHospitalName, HospitalHasChanged, VictimData, IsRetainedStretcherSituation); } SubmissionBusiness.SaveSubmission(UnitId, AgencyEventId, dispositionCode, AsExpected, SelectedHospital, Remarks, VictimData); if (!HasNotRetainedStretcher && !IsRetainedStretcherSituation) { UserModel currentUser = PersonBusiness.GetCurrentUser(); RetainedStretcherBusiness.ComeBackUnitStatusToRetainedStretcher(UnitId, currentUser); } return(true); } } } catch (Exception ex) { logger.Error("Add/In.: Falha na finalização, Submission.", ex); ShowMessage("Falha ao realizar solicitação."); } return(false); }
public bool LoadData() { try { //INICIALMENTE SETADO COMO NÃO ENCONTRADO, ABAIXO SE ENCONTRAR REGISTRO SETA PARA OUTRO. this.EventSituation = EventSituationEnum.NotFound; this.VictimData = new VictimModel(); this.ReasonList = EventTypeBusiness.GetDispositionCodeList(true); if (this.ReasonList.Count == 0) { return(false); } this.SituationFoundList = EventTypeBusiness.GetEventTypeList(); this.HospitalList = SamuBusiness.GetHospitalList(); this.DisplayHospitalList = HospitalList; this.IsNotUram = (UnitBusiness.GetUnitType(this.UnitId) != "URAM"); UnitWithRetainedStretcherModel unitWithRetainedStretcher = null; //TODO: Temporário: Voltar para ativar recurso de Maca Retida /* RetainedStretcherBusiness.GetUnitsWithRetainedStretcher("SAMU", PersonBusiness.GetCurrentUser(), this.UnitId, isOnlyWithStatusRetainedStretcher: false) * .FirstOrDefault();*/ this.HasNotRetainedStretcher = unitWithRetainedStretcher == null ? true : false; HospitalTypeList = HospitalList.Select(p => p.HospitalGroup).Distinct().ToList(); _dispositionNotFoundTypeCode = CadBusiness.GetCadParameterListItem("sisgraph", "SubmissionWindowParams", "DispositionNotFoundCode"); _dispositionRemovedTypeCode = CadBusiness.GetCadParameterListItem("sisgraph", "SubmissionWindowParams", "DispositionRemovedCode"); //_dispositionRetainedStretcher = CadBusiness.GetCadParameterListItem("sisgraph", "SubmissionWindowParams", "DispositionRetainedStretcher"); if (_dispositionNotFoundTypeCode == null || _dispositionRemovedTypeCode == null) //|| _dispositionRetainedStretcher == null { throw new Exception("Não foi possível carregar os parâmetros do ICAD."); } if (_isSubmitted) { SubmissionModel loadedSubmissionModel = SubmissionBusiness.GetLoadedSubmission(UnitId, AgencyEventId); if (loadedSubmissionModel == null) { //{ // throw new Exception("Dados de finalização não encontrados."); //} loadedSubmissionModel = new SubmissionModel(); loadedSubmissionModel.DispositionCode = _dispositionRemovedTypeCode; this.EventSituation = EventSituationEnum.Removed; this.HospitalHasChanged = true; } else { //ToString: complete if (loadedSubmissionModel.DispositionCode == _dispositionNotFoundTypeCode) { this.EventSituation = EventSituationEnum.NotFound; } else if (loadedSubmissionModel.DispositionCode == _dispositionRemovedTypeCode) { this.EventSituation = EventSituationEnum.Removed; } //else if (loadedSubmissionModel.DispositionCode == _dispositionRetainedStretcher) // this.EventSituation = EventSituationEnum.RetainedStretcher; else { this.EventSituation = EventSituationEnum.ResolvedOnLocal; } this.SelectedReason = loadedSubmissionModel.SelectedReason; this.AsExpected = loadedSubmissionModel.AsExpected; this.VictimData = loadedSubmissionModel.Victim; if (!string.IsNullOrEmpty(loadedSubmissionModel.Victim.SituationFound.Key)) { this.VictimData.SituationFound = SituationFoundList.Where(p => p.Key == loadedSubmissionModel.Victim.SituationFound.Key).FirstOrDefault(); } if (loadedSubmissionModel.SelectedHospital != null) { this.SelectedHospitalType = loadedSubmissionModel.SelectedHospital.HospitalGroup; this.SelectedHospital = HospitalList.Where(p => p.Cnes == loadedSubmissionModel.SelectedHospital.Cnes).FirstOrDefault(); } this.Remarks = loadedSubmissionModel.Remarks; } } return(true); } catch (Exception ex) { logger.Error("Ocorreu um erro carregando a ViewModel da janela de finalização de evento.", ex); throw new Exception("Falha ao carregar dados de finalização"); } }