예제 #1
0
        public List <Ubicacion> GetUbicacionesDisponibles(TipoUbicacion tipoUbicacion = null, Pagina pagina = null)
        {
            if (pagina == null)
            {
                pagina = new Pagina(1, 10);
            }

            String where = "";
            if (tipoUbicacion != null)
            {
                where = "where tipo_ubicacion_id = " + tipoUbicacion.id;
            }

            var sql = String.Format(@"select * from COMPUMUNDOHIPERMEGARED.Ubicacion u
            inner join COMPUMUNDOHIPERMEGARED.TipoUbicacion t on u.tipo_ubicacion_id = t.id_tipo_ubicacion
            and u.publicacion_id = {1} and ocupado = 0
            {0}
            order by precio desc, fila asc
            OFFSET " + pagina.FirstResultIndex() + " ROWS FETCH NEXT " + pagina.pageSize + " ROWS ONLY",
                                    where, this.id);

            var dt = DataBase.GetInstance().Query(sql);

            var lista = new List <Ubicacion>();

            foreach (DataRow dr in dt.Rows)
            {
                lista.Add(Ubicacion.FromDataRow(dr));
            }
            return(lista);
        }
예제 #2
0
        public List <Ubicacion> GetUbicacionesDisponiblesSinIncluir(TipoUbicacion tipoUbicacion, Pagina pagina, List <Ubicacion> carrito)
        {
            if (pagina == null)
            {
                pagina = new Pagina(1, 10);
            }

            String where = "";
            List <string> condiciones = new List <string>();

            if (tipoUbicacion != null)
            {
                condiciones.Add(" tipo_ubicacion_id = " + tipoUbicacion.id);
            }
            if (carrito != null && carrito.Count != 0)
            {
                string[] arr       = carrito.Select(u => u.Id.ToString()).ToArray();
                var      list      = string.Join(",", arr);
                var      condicion = String.Format("id_ubicacion not in ({0})", list);
                condiciones.Add(condicion);
            }

            if (condiciones.Count > 0)
            {
                where += "where ";
                var condicionMultiple = string.Join(" and ", condiciones.ToArray());
                where += condicionMultiple;
            }

            var sql = String.Format(@"select * from COMPUMUNDOHIPERMEGARED.Ubicacion u
            inner join COMPUMUNDOHIPERMEGARED.TipoUbicacion t on u.tipo_ubicacion_id = t.id_tipo_ubicacion
            and u.publicacion_id = {1} and ocupado = 0
            {0}
            order by precio desc, fila asc
            OFFSET " + pagina.FirstResultIndex() + " ROWS FETCH NEXT " + pagina.pageSize + " ROWS ONLY",
                                    where, this.id);

            var dt = DataBase.GetInstance().Query(sql);

            var lista = new List <Ubicacion>();

            foreach (DataRow dr in dt.Rows)
            {
                lista.Add(Ubicacion.FromDataRow(dr));
            }
            return(lista);
        }