/// <summary> /// Inserta una solicitud de interconsulta /// </summary> /// <param name="entidad">Entidad de CANALIZACION a insertar</param> /// <param name="id_centro">ID del centro al cual se le van a enviar los parametros</param> /// <param name="id_mensaje_sol_int">ID del mensaje para canalizacion</param> /// <param name="fecha_servidor">Fecha del servidor</param> public void Insertar(CANALIZACION entidad, short id_centro, short id_mensaje, DateTime fecha_servidor) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { Context.CANALIZACION.Add(entidad); var _nota_medica = Context.NOTA_MEDICA.FirstOrDefault(w => w.ID_ATENCION_MEDICA == entidad.ID_ATENCION_MEDICA); var _cuerpo = string.Empty; var _mensaje = new MENSAJE_TIPO(); var _nombre_completo = string.Format("{0} {1} {2}", !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO.Trim() : string.Empty); _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje); if (_mensaje != null) { var _id_mensaje = GetIDProceso <Int32>("MENSAJE", "ID_MENSAJE", "1=1"); _cuerpo = string.Format(_mensaje.DESCR + " para el imputado {0}/{1} {2}.", _nota_medica.ATENCION_MEDICA.INGRESO.ID_ANIO, _nota_medica.ATENCION_MEDICA.INGRESO.ID_IMPUTADO, _nombre_completo); Context.MENSAJE.Add(new MENSAJE { CONTENIDO = _cuerpo, ENCABEZADO = _mensaje.ENCABEZADO, ID_CENTRO = id_centro, ID_MEN_TIPO = _mensaje.ID_MEN_TIPO, ID_MENSAJE = _id_mensaje, REGISTRO_FEC = fecha_servidor, }); } Context.SaveChanges(); transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
public void Insertar(NOTA_DEFUNCION entidad, DateTime fecha_servidor, short id_mensaje_tipo, short id_mensaje_tipo_estatal, bool isAltaHospitalizacion, short?motivo_egreso_medico = null) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { Context.NOTA_DEFUNCION.Add(entidad); Context.SaveChanges(); if (isAltaHospitalizacion) { var _hospitalizacion = Context.HOSPITALIZACION.FirstOrDefault(w => w.NOTA_MEDICA.ATENCION_MEDICA.ID_ANIO == entidad.ID_ANIO && w.NOTA_MEDICA.ATENCION_MEDICA.ID_CENTRO == entidad.ID_CENTRO && w.NOTA_MEDICA.ATENCION_MEDICA.ID_IMPUTADO == entidad.ID_IMPUTADO && w.NOTA_MEDICA.ATENCION_MEDICA.ID_INGRESO == entidad.ID_INGRESO && w.ID_HOSEST == 1); if (_hospitalizacion == null) { throw new Exception("No existen hospitalizaciones activas para este imputado"); } _hospitalizacion.ID_HOSEST = 2; _hospitalizacion.ALTA_FEC = entidad.FECHA_DECESO; _hospitalizacion.ALTA_MEDICO = entidad.ID_EMPLEADO_COORDINADOR_MED; _hospitalizacion.CAMA_HOSPITAL.ESTATUS = "S"; var _dias_hospitalizado = Convert.ToDecimal((_hospitalizacion.ALTA_FEC.Value - _hospitalizacion.INGRESO_FEC.Value).TotalDays); Context.NOTA_EGRESO.Add(new NOTA_EGRESO { DIAS_ESTANCIA = _dias_hospitalizado, ID_HOSPITA = _hospitalizacion.ID_HOSPITA, ID_CENTRO_UBI = _hospitalizacion.ID_CENTRO_UBI, FECHA_REGISTRO = fecha_servidor, USUARIO_REGISTRO = entidad.USUARIO_REGISTRO, ID_MOEGMED = motivo_egreso_medico.Value }); Context.SaveChanges(); } #region mensaje var _cuerpo = string.Empty; var _mensaje = new MENSAJE_TIPO(); var _ingreso = Context.INGRESO.FirstOrDefault(w => w.ID_ANIO == entidad.ID_ANIO && w.ID_CENTRO == entidad.ID_CENTRO && w.ID_IMPUTADO == entidad.ID_IMPUTADO && w.ID_INGRESO == entidad.ID_INGRESO); var _nombre_completo = string.Format("{0} {1} {2}", !string.IsNullOrEmpty(_ingreso.IMPUTADO.NOMBRE) ? _ingreso.IMPUTADO.NOMBRE.Trim() : string.Empty, !string.IsNullOrEmpty(_ingreso.IMPUTADO.PATERNO) ? _ingreso.IMPUTADO.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(_ingreso.IMPUTADO.MATERNO) ? _ingreso.IMPUTADO.MATERNO.Trim() : string.Empty); #endregion _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_tipo); if (_mensaje != null) { var _id_mensaje = GetIDProceso <Int32>("MENSAJE", "ID_MENSAJE", "1=1"); _cuerpo = string.Format(_mensaje.CONTENIDO + " para el imputado {0}/{1} {2}", _ingreso.ID_ANIO, _ingreso.ID_IMPUTADO, _nombre_completo); Context.MENSAJE.Add(new MENSAJE { CONTENIDO = _cuerpo, ENCABEZADO = _mensaje.ENCABEZADO, ID_CENTRO = _ingreso.ID_UB_CENTRO, ID_MEN_TIPO = _mensaje.ID_MEN_TIPO, ID_MENSAJE = _id_mensaje, REGISTRO_FEC = fecha_servidor, }); Context.SaveChanges(); } _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_tipo_estatal); if (_mensaje != null) { var _id_entidad = Context.MUNICIPIO.First(w => w.CENTRO.Any(a => a.ID_CENTRO == entidad.ID_CENTRO)).ID_ENTIDAD; var _id_mensaje = GetIDProceso <Int32>("MENSAJE", "ID_MENSAJE", "1=1"); _cuerpo = string.Format(_mensaje.CONTENIDO + " para el imputado {0}/{1} {2}", _ingreso.ID_ANIO, _ingreso.ID_IMPUTADO, _nombre_completo); Context.MENSAJE.Add(new MENSAJE { CONTENIDO = _cuerpo, ENCABEZADO = _mensaje.ENCABEZADO, ID_ENTIDAD = _id_entidad, ID_MEN_TIPO = _mensaje.ID_MEN_TIPO, ID_MENSAJE = _id_mensaje, REGISTRO_FEC = fecha_servidor, }); Context.SaveChanges(); } transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
/// <summary> /// Actualiza un registro de solcitud de interconsulta externa /// </summary> /// <param name="entidad">Solicitud de interconsulta externa a actualizar</param> /// <param name="fecha_servidor">Fecha del servidor</param> /// <param name="isReagenda">Indica si la actualizacion es una reagenda</param> /// <param name="servicios_aux_interconsulta">Nuevo listado de servicios auxiliares de diagnostico para la solicitud de interconsulta</param> /// <param name="hoja_referencia_medica">Hoja de referencia medica a actualizar</param> /// <param name="interconsulta_interna">Datos de la interconsulta interna a actualizar</param> /// <param name="id_mensaje_sol_ext_reag">Id del mensaje para reagenda de solicitudes de interconsulta externa</param> /// <param name="id_mensaje_sol_ext_canc">Id del mensaje para cancelacion de solicitudes de interconsulta externa </param> /// <param name="id_mensaje_sol_int_canc">Id del mensaje para cancelacion de solicitudes de interconsulta interna</param> /// <param name="canalizacion">Entidad de la canalizacion que se va a afectar</param> /// <param name="canalizacion_especialidad">Listado de la entidades de Canalizacion_Especialidades que se van a afectar</param> /// <param name="canalizacion_serv_aux">Listado de las entidades de Canalizacion_Serv_Aux que se van a afectar</param> public void Actualizar(INTERCONSULTA_SOLICITUD entidad, DateTime fecha_servidor, bool isReagenda, List <SERVICIO_AUX_INTERCONSULTA> servicios_aux_interconsulta = null, HOJA_REFERENCIA_MEDICA hoja_referencia_medica = null, SOL_INTERCONSULTA_INTERNA interconsulta_interna = null, CANALIZACION canalizacion = null, List <CANALIZACION_SERV_AUX> canalizacion_serv_aux = null, List <CANALIZACION_ESPECIALIDAD> canalizacion_especialidad = null, short?id_mensaje_sol_ext_reag = null, short?id_mensaje_sol_ext_canc = null, short?id_mensaje_sol_int_canc = null) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { if (canalizacion != null) { Context.CANALIZACION.Attach(canalizacion); Context.Entry(canalizacion).State = EntityState.Modified; } if (canalizacion_serv_aux != null && canalizacion_serv_aux.Count > 0) { foreach (var item in canalizacion_serv_aux) { Context.CANALIZACION_SERV_AUX.Attach(item); Context.Entry(item).State = EntityState.Modified; } } if (canalizacion_especialidad != null && canalizacion_especialidad.Count > 0) { foreach (var item in canalizacion_especialidad) { Context.CANALIZACION_ESPECIALIDAD.Attach(item); Context.Entry(item).State = EntityState.Modified; } } Context.SaveChanges(); if (canalizacion != null) { var _canalizacion_serv_aux = Context.CANALIZACION_SERV_AUX.Where(a => a.ID_ATENCION_MEDICA == canalizacion.ID_ATENCION_MEDICA); var _canalizacion_especialidad = Context.CANALIZACION_ESPECIALIDAD.Where(a => a.ID_ATENCION_MEDICA == canalizacion.ID_ATENCION_MEDICA); var boolCanalizacionCompletada = true; if (_canalizacion_serv_aux != null && _canalizacion_serv_aux.Any(w => w.ID_ESTATUS != "A") || _canalizacion_especialidad != null && _canalizacion_especialidad.Any(w => w.ID_ESTATUS != "A")) { boolCanalizacionCompletada = false; } if (boolCanalizacionCompletada) { canalizacion.ID_ESTATUS_CAN = "A"; Context.SaveChanges(); } } var _interconsulta_solicitud = Context.INTERCONSULTA_SOLICITUD.FirstOrDefault(w => w.ID_INTERSOL == entidad.ID_INTERSOL && w.ID_CENTRO_UBI == entidad.ID_CENTRO_UBI); Context.Entry(_interconsulta_solicitud).CurrentValues.SetValues(entidad); Context.SaveChanges(); if (servicios_aux_interconsulta != null && servicios_aux_interconsulta.Count > 0) { var algo = Context.INTERCONSULTA_SOLICITUD.First(w => w.ID_INTERSOL == entidad.ID_INTERSOL && w.ID_CENTRO_UBI == entidad.ID_CENTRO_UBI); var _copia_solicitudes = Context.INTERCONSULTA_SOLICITUD.First(w => w.ID_INTERSOL == entidad.ID_INTERSOL).SERVICIO_AUX_INTERCONSULTA.ToList(); foreach (var item in _copia_solicitudes) { Context.SERVICIO_AUX_INTERCONSULTA.Remove(item); } Context.SaveChanges(); foreach (var item in servicios_aux_interconsulta) { Context.SERVICIO_AUX_INTERCONSULTA.Add(item); } Context.SaveChanges(); } if (interconsulta_interna != null) { Context.SOL_INTERCONSULTA_INTERNA.Attach(interconsulta_interna); Context.Entry(interconsulta_interna).State = EntityState.Modified; Context.SaveChanges(); } if (hoja_referencia_medica != null) { Context.HOJA_REFERENCIA_MEDICA.Attach(hoja_referencia_medica); Context.Entry(hoja_referencia_medica).State = EntityState.Modified; Context.SaveChanges(); } if (id_mensaje_sol_ext_canc.HasValue || id_mensaje_sol_ext_reag.HasValue || id_mensaje_sol_int_canc.HasValue) { var _cuerpo = string.Empty; var _mensaje = new MENSAJE_TIPO(); var _nota_medica = Context.NOTA_MEDICA.First(w => w.ID_ATENCION_MEDICA == entidad.ID_NOTA_MEDICA); var _nombre_completo = string.Format("{0} {1} {2}", !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO.Trim() : string.Empty); if (entidad.ID_INTER == 1) // Si es interconsulta interna { if (entidad.ESTATUS == "C" && id_mensaje_sol_int_canc.HasValue) { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_sol_int_canc.Value); } } else { if (entidad.ESTATUS == "C" && id_mensaje_sol_ext_canc.HasValue) { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_sol_ext_canc.Value); } else if (isReagenda && id_mensaje_sol_ext_reag.HasValue) { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_sol_ext_reag.Value); } } if (_mensaje != null && _mensaje.ID_MEN_TIPO > 0) { var _prioridad = Context.INTERCONSULTA_NIVEL_PRIORIDAD.FirstOrDefault(w => w.ID_INIVEL == entidad.ID_INIVEL); var _id_mensaje = GetIDProceso <Int32>("MENSAJE", "ID_MENSAJE", "1=1"); _cuerpo = string.Format(_mensaje.DESCR + " para el imputado {0}/{1} {2}", _nota_medica.ATENCION_MEDICA.INGRESO.ID_ANIO, _nota_medica.ATENCION_MEDICA.INGRESO.ID_IMPUTADO, _nombre_completo, _prioridad.DESCR); Context.MENSAJE.Add(new MENSAJE { CONTENIDO = _cuerpo, ENCABEZADO = _mensaje.ENCABEZADO, ID_CENTRO = _nota_medica.ATENCION_MEDICA.INGRESO.ID_UB_CENTRO, ID_MEN_TIPO = _mensaje.ID_MEN_TIPO, ID_MENSAJE = _id_mensaje, REGISTRO_FEC = fecha_servidor, }); Context.SaveChanges(); } } transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
/// <summary> /// Inserta una solicitud de interconsulta /// </summary> /// <param name="entidad">Entidad de INTERCONSULTA_SOLICITUD a insertar</param> /// <param name="id_centro">ID del centro al cual se le van a enviar los parametros</param> /// <param name="id_mensaje_sol_int">ID del mensaje para enviar en caso de ser solicitud interna</param> /// <param name="id_mensaje_sol_ext">ID del mensaje para enviar en caso de ser solicitud externa</param> /// <param name="fecha_servidor">Fecha del servidor</param> public void Insertar(INTERCONSULTA_SOLICITUD entidad, short id_centro, short id_mensaje_sol_int, short id_mensaje_sol_ext, DateTime fecha_servidor) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { var boolCanalizacionCompletada = true; entidad.ID_INTERSOL = GetIDProceso <short>("INTERCONSULTA_SOLICITUD", "ID_INTERSOL", string.Format("ID_CENTRO_UBI={0}", entidad.ID_CENTRO_UBI)); if (entidad.SOL_INTERCONSULTA_INTERNA != null && entidad.SOL_INTERCONSULTA_INTERNA.Count > 0) { entidad.SOL_INTERCONSULTA_INTERNA.First().ID_SOLICITUD = GetIDProceso <int>("SOL_INTERCONSULTA_INTERNA", "ID_SOLICITUD", string.Format("ID_CENTRO_UBI={0}", entidad.ID_CENTRO_UBI)); } if (entidad.HOJA_REFERENCIA_MEDICA != null && entidad.HOJA_REFERENCIA_MEDICA.Count > 0) { entidad.HOJA_REFERENCIA_MEDICA.First().ID_HOJA = GetIDProceso <int>("HOJA_REFERENCIA_MEDICA", "ID_HOJA", string.Format("ID_CENTRO_UBI={0}", entidad.ID_CENTRO_UBI)); } Context.INTERCONSULTA_SOLICITUD.Add(entidad); var _canalizacion = Context.CANALIZACION.First(w => w.ID_ATENCION_MEDICA == entidad.ID_NOTA_MEDICA); if (entidad.SERVICIO_AUX_INTERCONSULTA != null && entidad.SERVICIO_AUX_INTERCONSULTA.Count > 0) { foreach (var item in entidad.SERVICIO_AUX_INTERCONSULTA) { _canalizacion.CANALIZACION_SERV_AUX.First(w => w.ID_SERV_AUX == item.ID_SERV_AUX).ID_ESTATUS = "A"; _canalizacion.CANALIZACION_SERV_AUX.First(w => w.ID_SERV_AUX == item.ID_SERV_AUX).ID_INIVEL = entidad.ID_INIVEL; _canalizacion.CANALIZACION_SERV_AUX.First(w => w.ID_SERV_AUX == item.ID_SERV_AUX).ID_INTER = entidad.ID_INTER; } Context.SaveChanges(); } if (entidad.ID_ESPECIALIDAD.HasValue) { _canalizacion.CANALIZACION_ESPECIALIDAD.First(w => w.ID_ESPECIALIDAD == entidad.ID_ESPECIALIDAD.Value).ID_ESTATUS = "A"; _canalizacion.CANALIZACION_ESPECIALIDAD.First(w => w.ID_ESPECIALIDAD == entidad.ID_ESPECIALIDAD.Value).ID_INTER = entidad.ID_INTER; _canalizacion.CANALIZACION_ESPECIALIDAD.First(w => w.ID_ESPECIALIDAD == entidad.ID_ESPECIALIDAD.Value).ID_INIVEL = entidad.ID_INIVEL; Context.SaveChanges(); } if (_canalizacion.CANALIZACION_SERV_AUX.Any(w => w.ID_ESTATUS != "A") || _canalizacion.CANALIZACION_ESPECIALIDAD.Any(w => w.ID_ESTATUS != "A")) { boolCanalizacionCompletada = false; } if (boolCanalizacionCompletada) { _canalizacion.ID_ESTATUS_CAN = "A"; Context.SaveChanges(); } var _nota_medica = Context.NOTA_MEDICA.FirstOrDefault(w => w.ID_ATENCION_MEDICA == entidad.ID_NOTA_MEDICA); var _cuerpo = string.Empty; var _mensaje = new MENSAJE_TIPO(); var _nombre_completo = string.Format("{0} {1} {2}", !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO.Trim() : string.Empty); if (entidad.ID_INTER == 1) { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_sol_int); } else { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_sol_ext); } if (_mensaje != null) { var _prioridad = Context.INTERCONSULTA_NIVEL_PRIORIDAD.FirstOrDefault(w => w.ID_INIVEL == entidad.ID_INIVEL); var _id_mensaje = GetIDProceso <Int32>("MENSAJE", "ID_MENSAJE", "1=1"); _cuerpo = string.Format(_mensaje.DESCR + " para el imputado {0}/{1} {2}. Prioridad {3} ", _nota_medica.ATENCION_MEDICA.INGRESO.ID_ANIO, _nota_medica.ATENCION_MEDICA.INGRESO.ID_IMPUTADO, _nombre_completo, _prioridad.DESCR); Context.MENSAJE.Add(new MENSAJE { CONTENIDO = _cuerpo, ENCABEZADO = _mensaje.ENCABEZADO, ID_CENTRO = id_centro, ID_MEN_TIPO = _mensaje.ID_MEN_TIPO, ID_MENSAJE = _id_mensaje, REGISTRO_FEC = fecha_servidor, }); } Context.SaveChanges(); transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
public void Actualizar(CANALIZACION entidad, List <CANALIZACION_ESPECIALIDAD> canalizacion_especialidades, List <CANALIZACION_SERV_AUX> canalizacion_serv_aux, short id_centro, DateTime fecha_servidor, short?id_mensaje_edicion = null, short?id_mensaje_cancelacion = null) { try { using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { if (canalizacion_serv_aux != null && canalizacion_serv_aux.Count > 0) { var _servicios_aux = Context.CANALIZACION_SERV_AUX.Where(w => w.ID_ATENCION_MEDICA == entidad.ID_ATENCION_MEDICA).ToList(); if (_servicios_aux != null) { foreach (var item in _servicios_aux) { Context.CANALIZACION_SERV_AUX.Remove(item); } } foreach (var item in canalizacion_serv_aux) { Context.CANALIZACION_SERV_AUX.Add(item); } } if (canalizacion_especialidades != null && canalizacion_especialidades.Count > 0) { var _canalizaciones_especialidades = Context.CANALIZACION_ESPECIALIDAD.Where(w => w.ID_ATENCION_MEDICA == entidad.ID_ATENCION_MEDICA).ToList(); foreach (var item in _canalizaciones_especialidades) { Context.CANALIZACION_ESPECIALIDAD.Remove(item); } foreach (var item in canalizacion_especialidades) { Context.CANALIZACION_ESPECIALIDAD.Add(item); } } Context.SaveChanges(); Context.CANALIZACION.Attach(entidad); Context.Entry(entidad).State = EntityState.Modified; Context.SaveChanges(); var _nota_medica = Context.NOTA_MEDICA.FirstOrDefault(w => w.ID_ATENCION_MEDICA == entidad.ID_ATENCION_MEDICA); var _cuerpo = string.Empty; var _mensaje = new MENSAJE_TIPO(); var _nombre_completo = string.Format("{0} {1} {2}", !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.NOMBRE.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(_nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO) ? _nota_medica.ATENCION_MEDICA.INGRESO.IMPUTADO.MATERNO.Trim() : string.Empty); if (id_mensaje_edicion.HasValue) { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_edicion); } else { _mensaje = Context.MENSAJE_TIPO.FirstOrDefault(w => w.ID_MEN_TIPO == id_mensaje_cancelacion); } if (_mensaje != null) { var _id_mensaje = GetIDProceso <Int32>("MENSAJE", "ID_MENSAJE", "1=1"); _cuerpo = string.Format(_mensaje.DESCR + " para el imputado {0}/{1} {2}.", _nota_medica.ATENCION_MEDICA.INGRESO.ID_ANIO, _nota_medica.ATENCION_MEDICA.INGRESO.ID_IMPUTADO, _nombre_completo); Context.MENSAJE.Add(new MENSAJE { CONTENIDO = _cuerpo, ENCABEZADO = _mensaje.ENCABEZADO, ID_CENTRO = id_centro, ID_MEN_TIPO = _mensaje.ID_MEN_TIPO, ID_MENSAJE = _id_mensaje, REGISTRO_FEC = fecha_servidor, }); } Context.SaveChanges(); transaccion.Complete(); } } catch (Exception ex) { throw new ApplicationException(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); } }
private bool Guardar() { try { var obj = new MENSAJE_TIPO(); obj.DESCR = Descripcion; obj.PRIORIDAD = Prioridad; obj.COLOR = Color; obj.ENCABEZADO = Encabezado; obj.CONTENIDO = Contenido; obj.ESTATUS = SelectedEstatus.DESCRIPCION == "ACTIVO" ? "S" : "N"; var lRol = new List <MENSAJE_ROL>(); if (SelectedItem == null)//INSERT { #region Mensaje Rol if (LstMensajeRol != null) { foreach (var x in LstMensajeRol) { lRol.Add(new MENSAJE_ROL() { ID_ROL = x.ID_ROL, DESCR = obj.DESCR }); } } obj.MENSAJE_ROL = lRol; #endregion if (new cTipoMensaje().Agregar(obj) > 0) { return(true); } } else//UPDATE { obj.ID_MEN_TIPO = SelectedItem.ID_MEN_TIPO; #region Mensaje Rol if (LstMensajeRol != null) { foreach (var x in LstMensajeRol) { lRol.Add(new MENSAJE_ROL() { ID_MEN_TIPO = obj.ID_MEN_TIPO, ID_ROL = x.ID_ROL, DESCR = obj.DESCR }); } } #endregion if (new cTipoMensaje().Actualizar(obj, lRol)) { return(true); } } return(false); } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar.", ex); return(false); } }