Exemplo n.º 1
0
        public Models.Viajes Insertar(Models.Viajes o)
        {
            // Obtengo el siguiente Id a insertar
            o.ViajeId = Numeracion();
            db.Insert(o);

            return(o);
        }
Exemplo n.º 2
0
        public ActionResult <Models.Viajes> Put([FromBody] Models.Viajes o)
        {
            // Valida que el usuario sea administrador
            if (Startup.Usuario.UsuTipo != "ADM")
            {
                return(Unauthorized());
            }

            using (db = new VolquexDB())
                return(new Services.Viajes(db).Actualizar(o));
        }
Exemplo n.º 3
0
        public RespuestaSimple Solicitar(Models.Viajes o)
        {
            // Obtengo el siguiente Id a insertar
            o.ViajeId = Numeracion();

            // Obtengo el cliente de la sesión
            o.ClienteId   = Startup.Usuario.UsuarioId;
            o.ConductorId = null;

            // Seteo los valores default
            o.ViaFch   = DateTime.Now;
            o.ViaFchHr = DateTime.Now;
            o.ViaEst   = "SOL";

            db.Insert(o);

            var viajesMat = new Services.Viajes_Mat(db);

            // Recorre los materiales para insertarlos
            foreach (var material in o.Materiales)
            {
                material.ViajeId = o.ViajeId;
                viajesMat.Insertar(material);
            }

            // Genera la bitácora
            new Services.Viajes_Bit(db).Insertar(o.ViajeId, o.ViaEst, "");

            // Obtiene las volquetas disponibles junto con sus dispositivos
            var dispositivos = from volq in db.Volquetas
                               from disp in db.Usuarios_Disp.InnerJoin(p => p.UsuarioId == volq.ConductorId)
                               where volq.VolqEst == "LIB"
                               select disp;

            var listaDispositivos = dispositivos.ToArray();

            // Si hay conductores disponibles
            if (listaDispositivos.Length > 0)
            {
                // Envía la notificación a las volquetas
                var mensaje = new Services.Parametros(db).ObtenerValor("MSG-NUEVO-VIAJE");
                var titulo  = new Services.Parametros(db).ObtenerValor("MSG-NUEVO-VIAJE-TITULO");

                new Services.Notificaciones(db).EnviarNotificacion(listaDispositivos, o.ViajeId, titulo, mensaje, Accion.NuevoViaje);
            }

            return(new RespuestaSimple(200, "", o.ViajeId));
        }
Exemplo n.º 4
0
 public Models.Viajes Actualizar(Models.Viajes o)
 {
     db.Update(o);
     return(o);
 }
Exemplo n.º 5
0
 public ActionResult <RespuestaSimple> Solicitar([FromBody] Models.Viajes o)
 {
     using (db = new VolquexDB())
         return(new Services.Viajes(db).Solicitar(o));
 }