// SELECTS
        public static List <grupos> seleccionarGrupos(
            semestres periodo,
            string turno,
            int semestre,
            carreras carrera
            )
        {
            // Código necesario para los métodos que
            // utilicen la base de datos
            CBTis123_Entities dbContext = Vinculo_DB.generarContexto();

            List <grupos> listaGrupos = new List <grupos>();

            try
            {
                turno = turno.ToUpper()[0].ToString();

                listaGrupos = dbContext.grupos.Where(
                    g =>
                    g.idSemestre == periodo.idSemestre &&
                    g.turno == turno &&
                    g.semestre == semestre &&
                    g.idCarrera == carrera.idCarrera
                    ).ToList();
            }
            catch (Exception e)
            {
                ControladorVisual.mostrarMensaje(ControladorExcepciones.crearResultadoOperacionException(e));
            }

            return(listaGrupos);
        }
Beispiel #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            carreras carreras = db.carreras.Find(id);

            db.carreras.Remove(carreras);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #3
0
 public static Universidad ObtenerUniversidad(carreras carrera, InformacionPersonal info)
 {
     if (university != null)
     {
         return(university);
     }
     university = new Universidad(carrera, info);
     return(university);
 }
Beispiel #4
0
 public ActionResult Edit([Bind(Include = "id_carrera,codigo,nombre")] carreras carreras)
 {
     if (ModelState.IsValid)
     {
         db.Entry(carreras).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(carreras));
 }
Beispiel #5
0
        public ActionResult Create([Bind(Include = "id_carrera,codigo,nombre")] carreras carreras)
        {
            if (ModelState.IsValid)
            {
                db.carreras.Add(carreras);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(carreras));
        }
Beispiel #6
0
        // GET: carreras/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            carreras carreras = db.carreras.Find(id);

            if (carreras == null)
            {
                return(HttpNotFound());
            }
            return(View(carreras));
        }
Beispiel #7
0
        // Métodos de evento
        public void cargarGrupos(object sender, EventArgs e)
        {
            semestres periodo  = periodoSeleccionado;
            string    turno    = turnoSeleccionado;
            int       semestre = semestreSeleccionado;
            carreras  carrera  = carreraSeleccionada;

            if (
                periodo != null &&
                turno != "" &&
                semestre > 0 &&
                carrera != null
                )
            {
                List <grupos> listaGrupos =
                    ControladorAcreditacion.
                    seleccionarGrupos(
                        periodo,
                        turno,
                        semestre,
                        carrera);

                comboGrupo.DataSource = listaGrupos;

                if (listaGrupos.Count == 0)
                {
                    comboGrupo.DataSource      = null;
                    comboAsignatura.DataSource = null;
                    cmdImportar.Enabled        = false;
                    configurarDGVCalificaciones(null);
                }
            }
            else
            {
                comboGrupo.DataSource      = null;
                comboAsignatura.DataSource = null;
                cmdImportar.Enabled        = false;
                configurarDGVCalificaciones(null);
            }
        }
        public IHttpActionResult responderSolicitud(RespuestaSolicitud respuesta)
        {
            //buscar solicitud
            if (respuesta.idSolicitud > 0)
            {
                solicitudes solicitud = db.solicitudes.Find(respuesta.idSolicitud);

                if (solicitud != null)
                {
                    if (respuesta.respuesta)
                    {
                        //solicitud es aceptada
                        carreras carrera = db.carreras.Find(solicitud.idCarrera);
                        taxistas taxista = db.taxistas.Find(respuesta.idTaxista);
                        if (carrera != null || taxista != null)
                        {
                            //buscar que la carrera no haya sido aceptada por nadie
                            if (carrera.idTaxista == null)
                            {
                                //ELIMINAR todas las demas solicitudes para esta carrera
                                var solicitudesCarrera = db.solicitudes.Where(x => x.idCarrera == carrera.idCarrera && x.idSolicitud != solicitud.idSolicitud);
                                db.solicitudes.RemoveRange(solicitudesCarrera);
                                                                
                                //aceptar solicitud
                                if (respuesta.idTaxista == solicitud.idTaxista)
                                {
                                    solicitud.idEstadoSolicitud = 41;   //aceptada;
                                    carrera.idTaxista = respuesta.idTaxista;
                                    carrera.fechaInicioCarrera = DateTime.Now;
                                    carrera.idEstado = 71;  //en curso
                                    db.Entry(solicitud).State = EntityState.Modified;

                                    string msj;
                                    //ClientesAPIController clientes = new ClientesAPIController();                                  

                                    //msj = clientes.getNotificacionesCliente((int)carrera.idCliente).ToString();
                                    List<notificacionCliente> notificaciones = clientes.getNotificaciones((int)carrera.idCliente);
                                    var json = JsonConvert.SerializeObject(notificaciones);
                                    Push envios = new Push(json);
                                    envios.EnviarClientes((int)carrera.idCliente);
                                }
                                else
                                {
                                    return BadRequest("Esta solicitud no fue hecha para usted");
                                }

                                //guardar cambios
                                try
                                {
                                    db.SaveChangesAsync();

                                    //creando notificacion para cliente
                                    clientes.crearNotificaciones(idCarrera: carrera.idCarrera);

                                    return Ok("Su solicitud ha sido aceptada");
                                }
                                catch(Exception e)
                                {
                                    return BadRequest("No se ha podido guardar cambios");
                                }
                            }
                            else
                            {
                                return BadRequest("Esta carrera ya esta siendo atendida");
                            }
                        }
                        else
                        {
                            return BadRequest("Esta carrera no existe");
                        }
                        
                    }
                    else  //solicitud es rechazada
                    {
                        solicitud.idEstadoSolicitud = 31;//Rechazada
                        db.Entry(solicitud).State = EntityState.Modified;

                        try
                        {
                            db.SaveChangesAsync();
                            return Ok("Solicitud rechazada");
                        }
                        catch
                        {
                            return BadRequest("No se ha podido guardar el cambio");
                        }
                    }
                }
                else
                {
                    return BadRequest("La solicitud no existe");
                }
            }
            else
            {
                return BadRequest("La solicitud no existe");
            }
        }
Beispiel #9
0
        public async Task <IHttpActionResult> crearCarrera(carreras carrera)
        {
            //verificar elementos nulos
            if (carrera.idCliente > 0 &&                                             //cliente
                carrera.longitudOrigen != null && carrera.latitudOrigen != null &&   //origen
                carrera.longitudDestino != null && carrera.latitudDestino != null && //destino
                carrera.idMetodoPago > 0 && carrera.idViaSolicitud > 0)              //metodo pago / via solicitud
            {
                //verificar formato de posicion
                string patron            = @"^(\-?\d+\.\d+)";
                var    validarLatOrigen  = Regex.Match(carrera.latitudOrigen.ToString(), patron);
                var    validarLongOrigen = Regex.Match(carrera.longitudOrigen.ToString(), patron);
                var    validarLatDest    = Regex.Match(carrera.latitudDestino.ToString(), patron);
                var    validarLongDest   = Regex.Match(carrera.longitudDestino.ToString(), patron);

                if (validarLatOrigen.Success && validarLatOrigen.Success && validarLatDest.Success && validarLongDest.Success)
                {
                    //buscar cliente
                    clientes cliente = db.clientes.Find(carrera.idCliente);

                    if (cliente != null)
                    {
                        carrera.idEstado       = 41; // Creada como carrear "En Espera"
                        carrera.fechaSolicitud = DateTime.Now;

                        if (ModelState.IsValid)
                        {
                            //agregar a bd
                            try
                            {
                                db.carreras.Add(carrera);
                                await db.SaveChangesAsync();

                                //crear las solicitudes a los taxistas
                                if (taxistas.solicitudTaxista(carrera))
                                {
                                    //string msj;
                                    //msj = carrera.ToString();
                                    //Push envios = new Push(msj);
                                    //envios.EnviarTodosTaxistas();

                                    var json = JsonConvert.SerializeObject(carrera);

                                    Push envios = new Push(json);
                                    envios.EnviarTodosTaxistas();

                                    return(Ok("Su solicitud esta siendo atendida.  Gracias."));
                                }
                                else
                                {
                                    //borrar la carrera y las solicitudes
                                    var solicitudesCarrera = db.solicitudes.Where(x => x.idCarrera == carrera.idCarrera);

                                    if (solicitudesCarrera.Count() > 0)
                                    {
                                        db.solicitudes.RemoveRange(solicitudesCarrera);
                                    }

                                    db.carreras.Remove(carrera);

                                    db.SaveChanges();
                                    //fin borrado

                                    return(BadRequest("Ha ocurrido un error y no se ha podido crear la carrera.  Intente de nuevo."));
                                }
                            }
                            catch (Exception e)
                            {
                                return(BadRequest("Ha ocurrido un error y no se ha podido crear la carrera.  Intente de nuevo."));
                            }
                        }
                        else
                        {
                            return(BadRequest("Los datos proporcionados no son correctos"));
                        }
                    }
                    else
                    {
                        return(BadRequest("El cliente no existe"));
                    }
                }
                else
                {
                    return(BadRequest("Ubicación origen y/o destino incorrecta(s)"));
                }
            }
            else
            {
                return(BadRequest("No todos los datos necesarios han sido proporcionados"));
            }
        }
        public ResultadoOperacion modificarGrupo(
            int idGrupo,
            int idSemestre,
            int semestre,
            string letra,
            string turno,
            string especialidad,
            semestres semestreObj,
            carreras especialidadObj
            )
        {
            // Verificamos que los datos introducidos
            // sean válidos para la base de datos.
            if (
                !ValidadorDeTexto.esValido(letra) ||
                !ValidadorDeTexto.esValido(turno) ||
                !ValidadorDeTexto.esValido(especialidad)
                )
            {
                // Devolvemos un error si es que no son válidos.
                return(new ResultadoOperacion(
                           EstadoOperacion.ErrorDatosIncorrectos,
                           "No utilice caracteres especiales o inválidos"));
            }

            ResultadoOperacion innerRO = null;

            int modificado = 0;

            // Si hay algún error durante la ejecución de la operación
            // se devolverá el respectivo resultado de operación.
            try
            {
                CBTis123_Entities db = Vinculo_DB.generarContexto();

                grupos g = db.grupos.Single(g1 => g1.idGrupo == idGrupo);

                g.especialidad = especialidadObj.abreviatura;
                g.idCarrera    = especialidadObj.idCarrera;
                g.idSemestre   = semestreObj.idSemestre;
                g.letra        = letra;
                g.semestre     = semestre;
                g.turno        = turno[0].ToString().ToUpper();

                modificado = db.SaveChanges();
            }
            catch (MySqlException e)
            {
                innerRO = ControladorExcepciones.crearResultadoOperacionMySqlException(e);
            }
            catch (Exception e)
            {
                innerRO = ControladorExcepciones.crearResultadoOperacionException(e);
            }

            // Si no hubo problema, se devolverá el resultado correspondiente.
            return
                (modificado > 0 ?
                 new ResultadoOperacion(
                     EstadoOperacion.Correcto,
                     "Grupo modificado")
                :
                 new ResultadoOperacion(
                     EstadoOperacion.ErrorAplicacion,
                     "Grupo no modificado",
                     null,
                     innerRO));
        }
Beispiel #11
0
 private Universidad(carreras carrera, InformacionPersonal info)
 {
     this.carrera     = carrera;
     this.Informacion = info;
 }