public static void RegistrarCliente(string identificacion, string nombre)
        {
            using (AtencionClientesEntities db = new AtencionClientesEntities())
            {
                try
                {
                    Cliente cliente = new Cliente
                    {
                        Identificacion = identificacion,
                        Nombre         = nombre
                    };

                    int idCliente = cliente.IdCliente;

                    DeterminarColaMenorEspera_Result result = db.DeterminarColaMenorEspera().FirstOrDefault();

                    int      idTipoCola         = result.TipoCola;
                    DateTime horaUltimaAtencion = result.FechaHoraSalida;

                    int duracion = (from t in db.TipoColas
                                    where t.IdTipoCola == idTipoCola
                                    select t).FirstOrDefault().Duracion;

                    DateTime horaEntrada = DateTime.Now;

                    DateTime horaAtencion = horaEntrada;
                    if (horaUltimaAtencion > horaEntrada)
                    {
                        horaAtencion = horaUltimaAtencion;
                    }

                    DateTime horaSalida = horaAtencion.AddMinutes(duracion);

                    Cola cola = new Cola
                    {
                        IdTipoCola        = idTipoCola,
                        IdCliente         = idCliente,
                        HoraEntrada       = horaEntrada,
                        FechaHoraAtencion = horaAtencion,
                        FechaHoraSalida   = horaSalida,
                        IdEstado          = 1 //Por defecto se agrega el cliente En espera
                    };

                    db.Clientes.Add(cliente);
                    db.Colas.Add(cola);
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Пример #2
0
        public static void ActualizarEstados()
        {
            using (AtencionClientesEntities db = new AtencionClientesEntities())
            {
                try
                {
                    DateTime fechaHoraMomento = DateTime.Now;

                    db.ActualizarEstadosAtencion(fechaHoraMomento);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Пример #3
0
 public static List <ColaViewModel> ListarColas()
 {
     using (AtencionClientesEntities db = new AtencionClientesEntities())
     {
         var query = from c in db.Colas
                     join cl in db.Clientes on c.IdCliente equals cl.IdCliente
                     join e in db.Estadoes on c.IdEstado equals e.IdEstado
                     where c.IdEstado != 3
                     select new ColaViewModel
         {
             IdTipoCola            = c.IdTipoCola,
             IdentificacionCliente = cl.Identificacion,
             Nombre = cl.Nombre,
             Estado = e.Estado1
         };
         return(query.ToList());
     }
 }
Пример #4
0
 public static List <HistoricoAtencionesViewModel> ListarHistoricoRegistros()
 {
     using (AtencionClientesEntities db = new AtencionClientesEntities())
     {
         var query = from c in db.Colas
                     join cl in db.Clientes on c.IdCliente equals cl.IdCliente
                     where c.IdEstado == 3
                     orderby c.FechaHoraAtencion descending
                     select new HistoricoAtencionesViewModel
         {
             IdCola = c.IdCola,
             IdentificacionCliente = cl.Identificacion,
             Nombre            = cl.Nombre,
             FechaHoraAtencion = c.FechaHoraAtencion,
             FechaHoraSalida   = c.FechaHoraSalida
         };
         return(query.ToList());
     }
 }
 public static bool ConsultarIdentificacion(string identificacion)
 {
     using (AtencionClientesEntities db = new AtencionClientesEntities())
     {
         var query = (from cl in db.Clientes
                      join c in db.Colas on cl.IdCliente equals c.IdCliente
                      where cl.Identificacion == identificacion
                      where c.IdEstado != 3
                      select cl).Count();
         if (query == 0)
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }