示例#1
0
        public void altaPaciente(Paciente paciente)
        {
            if (db.pacientes.Any(o => o.PacienteID==paciente.PacienteID))
            {
                throw new Exception("Paciente existe");
            }
            else
            {
                db.pacientes.Add(paciente);
                db.SaveChanges();

                //agrego comunicacion por defecto
                var eventos = (from e in db.eventos
                              where e is EventoObligatorio
                              select e).ToList();
                foreach (var ev in eventos)
                {
                    // asigno eventos obligatorios con medio mail...
                    EventoPacienteComunicacion epv = new EventoPacienteComunicacion { ComunicacionID = 1, PacienteID = paciente.PacienteID, EventoID = ev.EventoID };
                    db.eventopacientecomunicacion.Add(epv);
                    db.SaveChanges();
                }
                //db.SaveChanges();
            }
        }
示例#2
0
        public void suscribirPacienteEvento(long EventoID, string PacienteID, long ComunicacionID)
        {
            Evento e = db.eventos.Where(ev => ev.EventoID == EventoID).First();
            Paciente p = db.pacientes.Find(PacienteID);
            Comunicacion c = db.comunicaciones.Find(ComunicacionID);

            if(e!=null && p!=null && c!=null)
            {
                DateTime now = DateTime.Today;
                DateTime dt= (DateTime)p.FN;
                int edad = now.Year - dt.Year;

                if (p.FN > now.AddYears(-edad)) edad--;

                if (e is EventoObligatorio || (e is EventoOpcional && ((EventoOpcional) e).edades.Contains(edad) && e.sexo == p.sexo))
                {
                    EventoPacienteComunicacion epc = new EventoPacienteComunicacion { ComunicacionID = ComunicacionID,
                                                                                      EventoID = EventoID,
                                                                                      PacienteID = PacienteID };
                    db.eventopacientecomunicacion.Add(epc);
                    db.SaveChanges();
                }
                else
                {
                    throw new Exception("DALNotificaciones::suscribirPacienteEvento: No cumple los rangos del evento");
                }
            }
            else
            {
                throw new Exception("SuscribirPacienteEvento, no satisface condiciones");
            }
        }