public Incident(conIncidentes objIncident) { this.FechaIncidente = objIncident.FecIncidente; this.NroIncidente = objIncident.NroIncidente; this.AbreviaturaId = objIncident.ClienteId.AbreviaturaId; this.NroAfiliado = objIncident.NroAfiliado; this.Telefono = objIncident.Telefono; this.Sexo = objIncident.Sexo; this.Edad = Convert.ToInt32(objIncident.Edad); this.Sintomas = objIncident.Sintomas; this.GradoOperativo = new OperativeGrade(objIncident.GradoOperativoId); this.Paciente = objIncident.Paciente; this.Copago = objIncident.CoPago; conIncidentesDomicilios objDomicilio = new conIncidentesDomicilios(); objDomicilio.CleanProperties(objDomicilio); if (objDomicilio.Abrir(objDomicilio.GetIDByIndex(objIncident.ID).ToString())) { this.Localidad = new Locality(objDomicilio.LocalidadId); this.Domicilio = new Domicile(objDomicilio.Domicilio); } this.Aviso = modDeclares.shamanConfig.opeNroInterno == 0 ? objIncident.Aviso : objIncident.NroInterno; this.Observaciones = objIncident.Observaciones; this.GradoColor = objIncident.GradoOperativoId.ColorHexa; this.horLlamada = objIncident.HorarioOperativo.horLlamada.ToShortTimeString(); this.IncidenteId = objIncident.ID.ToString(); this.PlanId = objIncident.PlanId; this.SituacionIvaId = objIncident.flgIvaGravado; this.ID = objIncident.ID; conIncidentesViajes objViaje = new conIncidentesViajes(); objViaje.CleanProperties(objViaje); if (objViaje.Abrir(objViaje.GetIDByIndex(objIncident.ID).ToString())) { this.ViajeRealizado = objViaje.MotivoNoRealizacionId.ID <= 0; this.Diagnostico = new Diagnosis(objViaje.MotivoNoRealizacionId); } this.Derivacion = objIncident.GetLastLugarDerivacion(objIncident.ID); }
public static DatabaseValidationResult SaveIncident(Incident incident) { modDeclares.dllMode = true; conIncidentes conIncidentes = new conIncidentes(); conIncidentes.CleanProperties(conIncidentes); conIncidentesDomicilios conIncidentesDomicilios = new conIncidentesDomicilios(); conLocalidades conLocalidades = new conLocalidades(); conIncidentesObservaciones conIncidentesObservaciones = new conIncidentesObservaciones(); conlckIncidentes conlckIncidentes = new conlckIncidentes(); DateTime pFec = incident.FechaIncidente; string pNic = incident.NroIncidente; string pCliAbr = incident.Cliente.AbreviaturaId; long pCli = incident.Cliente.Id; string pAfl = incident.NroAfiliado; long pGdo = incident.GradoOperativo.Id; string pDom = incident.Domicilio.Description; long pLoc = incident.Localidad.ID; string pPac = incident.Paciente; bool pAddPac = false; bool vAddNew = true; if (pCli == 0) pCli = modDeclares.shamanConfig.ClienteDefaultId.ID; if (pGdo == 0) { conGradosOperativos objGrado = new conGradosOperativos(); pGdo = objGrado.GetDefault(); objGrado = null; } string errors = ""; if (conIncidentes.ValidarIncidente(pFec, pNic, pCliAbr, pCli, pAfl, pGdo, pDom, pLoc, pPac, ref pAddPac, ref errors)) { // --> Cabecera del incidente if (incident.ID > 0) vAddNew = false; conIncidentes.FecIncidente = pFec; conIncidentes.NroIncidente = pNic; if (modDeclares.shamanConfig.modNumeracion == 1) conIncidentes.TrasladoId = Convert.ToInt64(incident.NroIncidente); conIncidentes.Telefono = incident.Telefono; conIncidentes.ClienteId.SetObjectId(Convert.ToString(pCli)); conIncidentes.ClienteIntegranteId.SetObjectId(Convert.ToString(incident.NroAfiliado)); conIncidentes.ClienteId.AbreviaturaId = pCliAbr; conIncidentes.ClienteId.ID = pCli; conIncidentes.NroAfiliado = pAfl; conIncidentes.GradoOperativoId.SetObjectId(pGdo.ToString()); conIncidentes.Paciente = pPac; conIncidentes.Sexo = incident.Sexo; conIncidentes.Edad = incident.Edad; conIncidentes.PlanId = incident.PlanId ?? ""; conIncidentes.Sintomas = incident.Sintomas; conIncidentes.CoPago = Convert.ToInt64(incident.Copago); conIncidentes.flgIvaGravado = Convert.ToInt32(incident.SituacionIvaId); if (modDeclares.shamanConfig.opeNroInterno == 0) { conIncidentes.Aviso = incident.Aviso ?? ""; } else { conIncidentes.NroInterno = incident.Aviso ?? ""; } // --> Domicilio de IDA conIncidentesDomicilios.CleanProperties(conIncidentesDomicilios); conIncidentesDomicilios.LocalidadId.SetObjectId(incident.Localidad.ID.ToString()); conIncidentesDomicilios.Domicilio.dmEntreCalle1 = incident.Domicilio.BetweenStreet1 ?? ""; conIncidentesDomicilios.Domicilio.dmEntreCalle2 = incident.Domicilio.BetweenStreet2 ?? ""; conIncidentesDomicilios.Domicilio.dmCalle = incident.Domicilio.Street ?? ""; conIncidentesDomicilios.Domicilio.dmPiso = incident.Domicilio.Floor ?? ""; conIncidentesDomicilios.Domicilio.dmDepto = incident.Domicilio.Department ?? ""; conIncidentesDomicilios.Domicilio.dmAltura = incident.Domicilio.Height; conIncidentesDomicilios.Domicilio.dmReferencia = incident.Domicilio.Reference ?? ""; if (conIncidentesDomicilios.TipoOrigen == 0) { var dom = conIncidentesDomicilios.Domicilio; modGPShaman.SetLatLong(ref dom, Convert.ToDecimal(conIncidentesDomicilios.LocalidadId.GetObjectId())); conIncidentesDomicilios.Domicilio = dom; } else { // } conIncidentesObservaciones.CleanProperties(conIncidentesObservaciones); conIncidentesObservaciones.Observaciones = incident.Observaciones; string dateFormatted = String.Format("{0:yyyy-MM-dd HH:mm:ss}", "1899-12-30 00:00:00"); bool saved = conIncidentes.SetIncidente(conIncidentes, conIncidentesDomicilios, conIncidentesObservaciones, Convert.ToDateTime(dateFormatted)); if (saved) { conlckIncidentes.CleanProperties(conlckIncidentes); conlckIncidentes.unlockIncidente(conIncidentes.FecIncidente, conIncidentes.NroIncidente); return new DatabaseValidationResult(errors, true); } } return new DatabaseValidationResult(errors, false); }