Example #1
0
        public RespuestaSimple GuardarOferta(decimal viajeId, decimal valorOferta)
        {
            // Obtengo el usuario actual
            var usuarioId = Startup.Usuario.UsuarioId;

            // Obtengo la volqueta actual de este usuario
            var volquetaId = new Services.Volquetas(db).ObtenerPorUsuario(usuarioId);

            // Si no está asignado a ninguna volqueta
            if (volquetaId == 0)
            {
                return(new RespuestaSimple(500, "El usuario actual no está asignado a ninguna volqueta"));
            }

            // Crea una nueva oferta
            var oferta = new Models.Viajes_Volq
            {
                ViajeId = viajeId,
                // Obtiene la última numeración
                ViajeVolquetaId = Numeracion(viajeId),
                VolquetaId      = volquetaId,
                ConductorId     = usuarioId,
                ViaVolqOferta   = valorOferta,
                ViaVolqEst      = "OFE",
                ViaVolqEstViaje = "SOL"
            };

            db.Insert(oferta);
            return(new RespuestaSimple());
        }
Example #2
0
        public RespuestaSimple GuardarOfertaMateriales(Models.Viajes_Volq oferta)
        {
            // Obtengo el usuario actual
            var usuarioId = Startup.Usuario.UsuarioId;

            // Obtengo la volqueta actual de este usuario
            var volquetaId = new Services.Volquetas(db).ObtenerPorUsuario(usuarioId);

            // Si no está asignado a ninguna volqueta
            if (volquetaId == 0)
            {
                return(new RespuestaSimple(500, "El usuario actual no está asignado a ninguna volqueta"));
            }

            // Obtiene la última numeración
            oferta.ViajeVolquetaId = Numeracion(oferta.ViajeId);

            // Configura la oferta con los datos faltantes
            oferta.VolquetaId      = volquetaId;
            oferta.ConductorId     = usuarioId;
            oferta.ViaVolqEst      = "OFE";
            oferta.ViaVolqEstViaje = "SOL";

            decimal totalMateriales = 0;

            // Obtiene el total de los materiales
            foreach (var material in oferta.Materiales)
            {
                totalMateriales += material.ViaVolqMatCantidad * material.ViaVolqMatPrecio;
            }

            // Graba el total de la oferta
            oferta.ViaVolqTotalMateriales = totalMateriales;

            // Inserta la nueva oferta
            db.Insert(oferta);

            // Inserta los materiales
            foreach (var material in oferta.Materiales)
            {
                material.ViajeId         = oferta.ViajeId;
                material.ViajeVolquetaId = oferta.ViajeVolquetaId;
                db.Insert(material);

                // Guarda el precio más reciente de cada material en el usuario
                var historial = new Models.Usuarios_Mat
                {
                    UsuarioId    = usuarioId,
                    MaterialId   = material.MaterialId,
                    UsuMatPrecio = material.ViaVolqMatPrecio
                };

                db.InsertOrReplace(historial);
            }

            return(new RespuestaSimple());
        }
Example #3
0
        public ActionResult <Models.Viajes_Volq> Put([FromBody] Models.Viajes_Volq o)
        {
            // Valida que el usuario sea administrador
            if (Startup.Usuario.UsuTipo != "ADM")
            {
                return(Unauthorized());
            }

            using (db = new VolquexDB())
                return(new Services.Viajes_Volq(db).Actualizar(o));
        }
Example #4
0
        public Models.Viajes_Volq Insertar(Models.Viajes_Volq o)
        {
            // Obtiene la última numeración
            o.ViajeVolquetaId = Numeracion(o.ViajeId);

            // Asigna el conductor actual de la volqueta
            o.ConductorId = new Services.Volquetas(db).ObtenerUsuario(o.VolquetaId);

            // Inserta el registro
            db.Insert(o);

            return(o);
        }
Example #5
0
 public ActionResult <RespuestaSimple> GuardarOfertaMateriales(
     [FromBody] Models.Viajes_Volq oferta)
 {
     using (db = new VolquexDB())
         return(new Services.Viajes_Volq(db).GuardarOfertaMateriales(oferta));
 }
Example #6
0
 public Models.Viajes_Volq Actualizar(Models.Viajes_Volq o)
 {
     db.Update(o);
     return(o);
 }