Exemplo n.º 1
0
 public Agenda(long idAge, long idProf, DateTime fecha_ini, DateTime fecha_fin, List <DiaAgenda> listaDias, TipoAgenda tA)
 {
     idAgenda          = idAge;
     idProfesional     = idProf;
     fecha_inicial     = fecha_ini;
     fecha_final       = fecha_fin;
     listaDeDiasAgenda = listaDias;
     tipoAgenda        = tA;
 }
Exemplo n.º 2
0
        public Agenda traerAgendaDelProfesional(Usuario usuario)
        {
            string procedimiento = "BEMVINDO.sp_agenda_del_profesional";

            SqlParameter        pIdProfesional = new SqlParameter("@id_profesional", usuario.id);
            List <SqlParameter> parametros     = new List <SqlParameter> {
                pIdProfesional
            };

            List <Dictionary <string, object> > listaDB = db.ejecutarStoredProcedure(procedimiento, parametros);

            if (listaDB.Count == 0)
            {
                return(new Agenda(0, usuario.id, db.getDate(), db.getDate(), new List <DiaAgenda>(), TipoAgenda.Nuevo));
            }

            //creo los dias agenda
            List <DiaAgenda> listaDiasAgenda = new List <DiaAgenda>();

            DiaAgenda diaAgenda;

            foreach (Dictionary <string, object> dic in listaDB)
            {
                if (listaDiasAgenda.Exists(x => x.idDiaAgenda == Convert.ToInt64(dic["id_dia_agenda"])))
                {
                    diaAgenda = listaDiasAgenda.Find(x => x.idDiaAgenda == Convert.ToInt64(dic["id_dia_agenda"]));
                    diaAgenda.especialidades.Add((string)dic["descripcion"], Convert.ToInt64(dic["id_especialidad"]));
                }
                else
                {
                    Dictionary <string, long> nuevaEsp = new Dictionary <string, long>();
                    nuevaEsp.Add((string)dic["descripcion"], Convert.ToInt64(dic["id_especialidad"]));

                    diaAgenda = new DiaAgenda(Convert.ToInt64(dic["id_dia_agenda"]), (string)dic["dia"], nuevaEsp, (TimeSpan)dic["horario_inicial"], (TimeSpan)dic["horario_final"]);
                    listaDiasAgenda.Add(diaAgenda);
                }
            }

            TipoAgenda tipo = ((DateTime)listaDB[0]["fecha_final"] < db.getDate())? TipoAgenda.Vencido : TipoAgenda.Actual;

            return(new Agenda(Convert.ToInt64(listaDB[0]["id_agenda"]), usuario.id, (DateTime)listaDB[0]["fecha_inicial"], (DateTime)listaDB[0]["fecha_final"], listaDiasAgenda, tipo));
        }