示例#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 static List <SqlParameter> GenerarParametrosTipoUbicacion(TipoUbicacion tipoUbicacion)
        {
            List <SqlParameter> parametros = new List <SqlParameter>();

            parametros.Add(new SqlParameter("@Descripcion", tipoUbicacion.Descripcion));
            return(parametros);
        }
 public SectorNumeradoForm()
 {
     InitializeComponent();
     comboTipoUbicacion.DropDownStyle = ComboBoxStyle.DropDownList;
     comboTipoUbicacion.DataSource    = TipoUbicacion.Todos();
     precio.Minimum = 0;
     precio.Maximum = Decimal.MaxValue;
 }
 private void SectorSinNumerarForm_Load(object sender, EventArgs e)
 {
     comboTipoUbicacion.DropDownStyle = ComboBoxStyle.DropDownList;
     comboTipoUbicacion.DataSource    = TipoUbicacion.Todos();
     cantidad.Minimum = 1;
     cantidad.Maximum = Decimal.MaxValue;
     precio.Maximum   = Decimal.MaxValue;
 }
示例#5
0
        public void AddTipoUbicacion(TipoUbicacion tipoUbicacion)
        {
            if (ExistsTipoUbicacion(tipoUbicacion.EmpresaId, tipoUbicacion.Codigo))
            {
                throw new ApplicationException("Ya existe un tipo de ubicacion con el código indicado");
            }

            _context.TiposUbicacion.Add(tipoUbicacion);
            _context.SaveChanges();
        }
示例#6
0
        public void UpdateTipoUbicacion(TipoUbicacion tipoUbicacion)
        {
            if (ExistsTipoUbicacion(tipoUbicacion.EmpresaId, tipoUbicacion.Codigo, tipoUbicacion.TipoUbicacionId))
            {
                throw new ApplicationException("Ya existe un tipo de ubicacion con el código indicado");
            }

            _context.TiposUbicacion.Attach(tipoUbicacion);
            _context.Entry(tipoUbicacion).State = EntityState.Modified;
            _context.SaveChanges();
        }
 public SeleccionarUbicacionesForm(Publicacion publicacion, Cliente cliente)
 {
     InitializeComponent();
     this.publicacion                = publicacion;
     checkTipo.Checked               = false;
     comboTipo.DropDownStyle         = ComboBoxStyle.DropDownList;
     comboTipo.DataSource            = TipoUbicacion.Todos();
     ubicacionesDataGrid.MultiSelect = false;
     carritoDataGrid.MultiSelect     = false;
     lblCantidad.Text                = "0";
     this.cliente = cliente;
 }
示例#8
0
 private void btnPrecioPorCategoria_Click(object sender, EventArgs e)
 {
     if (textPrecio.Text == "")
     {
         //
         MessageBox.Show("Ingrese un precio", "¡Error!",
                         MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         precioAsignado = false;
     }
     else
     {
         if (decimal.Parse(textPrecio.Text) <= 0)
         {
             MessageBox.Show("Ingrese un precio válido", "¡Error!",
                             MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             precioAsignado = false;
         }
         else
         {
             //valido que no vuelva a ingresar otro precio de esa misma categoria
             if (tiposDeUbicacionPorPublicacion.Any(unTipo => unTipo.descripcion == comboBox1.SelectedValue.ToString()))
             {
                 MessageBox.Show("Ya asignó un precio a esa categoria.", "¡Error!",
                                 MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                 precioAsignado = true;
             }
             else
             {
                 //valido que no ponga un mismo precio a distinta categoria.
                 if (tiposDeUbicacionPorPublicacion.Any(unTipo => unTipo.precio == decimal.Parse(textPrecio.Text)))
                 {
                     MessageBox.Show("Ya asignó ese mismo precio a otra categoria.", "¡Error!",
                                     MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                     precioAsignado = false;
                 }
                 else
                 {
                     //tengo que dar de alta a esa categoria con ese precio.
                     TipoUbicacion tu2 = new TipoUbicacion();
                     tu2.descripcion = comboBox1.SelectedValue.ToString();
                     tu2.precio      = decimal.Parse(textPrecio.Text);
                     tiposDeUbicacionPorPublicacion.Add(tu2);
                     MessageBox.Show("Categoria: " + comboBox1.SelectedValue.ToString() + " Precio :$" + decimal.Parse(textPrecio.Text), "¡Correcto!",
                                     MessageBoxButtons.OK, MessageBoxIcon.None);
                     precioAsignado = true;
                 }
             }
         }
     }
 }
示例#9
0
        public static TipoUbicacion ReadTipoUbicacionFromDb(int id)
        {
            List <SqlParameter> parametros = new List <SqlParameter>();

            parametros.Add(new SqlParameter("@id", id));
            SqlCommand query = DataBase.ejecutarFuncion("SELECT * from GESTION_DE_GATOS.Ubicaciones_Tipo t " +
                                                        "WHERE t.Ubic_Tipo_Cod = @id", parametros);
            SqlDataReader lector = query.ExecuteReader();

            if (lector.Read())
            {
                return(TipoUbicacion.build(lector));
            }
            return(null);
        }
示例#10
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);
        }
示例#11
0
        private TipoUbicacion getTipoUbicacionFromReader(SqlDataReader reader)
        {
            TipoUbicacion tipoUbicacion = null;

            try
            {
                tipoUbicacion             = new TipoUbicacion();
                tipoUbicacion.id          = (int)(reader.IsDBNull(0) ? null : (Nullable <int>)reader.GetSqlDecimal(0));
                tipoUbicacion.descripcion = (reader.IsDBNull(1) ? null : reader.GetSqlString(1).ToString());
            }
            catch (Exception ex) {
                throw new ObjectDisposedException("Error al parsear el tipo de ubicacion");
            }


            return(tipoUbicacion);
        }
示例#12
0
        private void inicializarTiposDeUbicacion()
        {
            SqlDataReader lector = DataBase.GetDataReader("SELECT * FROM GESTION_DE_GATOS.Ubicaciones_Tipo", "T", new List <SqlParameter>());
            TipoUbicacion tipoUbicacion;

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    tipoUbicacion = TipoUbicacion.build(lector);
                    cmbTipo.Items.Add(tipoUbicacion);
                }
            }
            lector.Close();
            cmbTipo.DisplayMember = "Descripcion";
            cmbTipo.ValueMember   = "Id";
        }
示例#13
0
        public static void UpdateTipoUbicacion(TipoUbicacion tipoUbicacion)
        {
            List <SqlParameter> parametros = GenerarParametrosTipoUbicacion(tipoUbicacion);

            DataBase.WriteInBase("UpdatetipoUbicacion", "SP", parametros);
        }
示例#14
0
        public static void CreateTipoUbicacion(TipoUbicacion tipoUbicacion)
        {
            List <SqlParameter> parametros = GenerarParametrosTipoUbicacion(tipoUbicacion);

            DataBase.WriteInBase("IngresartipoUbicacions", "SP", parametros);
        }
示例#15
0
        private List <Ubicacion> buscarButtons()
        {
            Ubicacion ubicacion = new Ubicacion();

            TipoUbicacion tu = new TipoUbicacion();

            List <Ubicacion> ubicaciones = new List <Ubicacion>();

            foreach (Control cComponente in this.Controls)
            {
                if (cComponente is GroupBox)
                {
                    foreach (Control cComponente2 in cComponente.Controls)
                    {
                        if (cComponente2 is Button)
                        {                         //
                            if (cComponente2.BackColor == Color.Purple)
                            {
                                Ubicacion ubicacion1 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion1.asiento = int.Parse(numero);
                                ubicacion1.fila    = cComponente2.Name[0];
                                //dado una descripcion me devuelva su id
                                //ubicacion1.tipoUbicacionId= tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Vip").codigo;
                                ubicacion1.tipoUbicacionId = tu.buscarCodigoCategoria("Vip");
                                ubicacion1.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Vip").precio;
                                ubicaciones.Add(ubicacion1);
                            }
                            if (cComponente2.BackColor == Color.Tomato)
                            {
                                Ubicacion ubicacion2 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion2.asiento = int.Parse(numero);
                                ubicacion2.fila    = cComponente2.Name[0];
                                //ubicacion2.tipoUbicacionId = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Cabecera").codigo;
                                ubicacion2.tipoUbicacionId = tu.buscarCodigoCategoria("Cabecera");
                                ubicacion2.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Cabecera").precio;
                                //ubicacion.tipoDescripcion = "Cabecera";
                                ubicaciones.Add(ubicacion2);
                            }
                            if (cComponente2.BackColor == Color.Yellow)
                            {
                                Ubicacion ubicacion3 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion3.asiento = int.Parse(numero);
                                ubicacion3.fila    = cComponente2.Name[0];
                                //ubicacion3.tipoUbicacionId = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Campo").codigo;
                                ubicacion3.tipoUbicacionId = tu.buscarCodigoCategoria("Campo");
                                ubicacion3.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Campo").precio;
                                //ubicacion.tipoDescripcion = "Campo";
                                ubicaciones.Add(ubicacion3);
                            }
                            if (cComponente2.BackColor == Color.Maroon)
                            {
                                Ubicacion ubicacion4 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion4.asiento         = int.Parse(numero);;
                                ubicacion4.fila            = cComponente2.Name[0];
                                ubicacion4.tipoUbicacionId = tu.buscarCodigoCategoria("Campo Vip");
                                ubicacion4.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Campo Vip").precio;
                                //ubicacion.tipoDescripcion = "Campo Vip";
                                ubicaciones.Add(ubicacion4);
                            }
                            if (cComponente2.BackColor == Color.Beige)
                            {
                                Ubicacion ubicacion5 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion5.asiento = int.Parse(numero);
                                ubicacion5.fila    = cComponente2.Name[0];
                                //ubicacion5.tipoUbicacionId = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Platea Alta").codigo;
                                ubicacion5.tipoUbicacionId = tu.buscarCodigoCategoria("Platea Alta");
                                ubicacion5.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Platea Alta").precio;
                                //ubicacion.tipoDescripcion = "Platea Alta";
                                ubicaciones.Add(ubicacion5);
                                //cantidadBotonesBeige++;
                                //asientosConFila.Add(cComponente2.Name);
                            }
                            if (cComponente2.BackColor == Color.Indigo)
                            {
                                Ubicacion ubicacion6 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion6.asiento = int.Parse(numero);;
                                ubicacion6.fila    = cComponente2.Name[0];
                                //ubicacion6.tipoUbicacionId = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Platea Baja").codigo;
                                ubicacion6.tipoUbicacionId = tu.buscarCodigoCategoria("Platea Baja");
                                ubicacion6.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Platea Baja").precio;
                                //ubicacion.tipoDescripcion = "Platea Baja";
                                ubicaciones.Add(ubicacion6);
                                //cantidadBotonesIndigo++;
                                //asientosConFila.Add(cComponente2.Name);
                            }
                            if (cComponente2.BackColor == Color.Red)
                            {
                                Ubicacion ubicacion7 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion7.asiento         = int.Parse(numero);;
                                ubicacion7.fila            = cComponente2.Name[0];
                                ubicacion7.tipoUbicacionId = tu.buscarCodigoCategoria("PullMan");
                                //ubicacion7.tipoUbicacionId = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "PullMan").codigo;
                                ubicacion7.tipoUbicacionId = tu.buscarCodigoCategoria("PullMan");
                                ubicacion7.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "PullMan").precio;
                                //ubicacion.tipoDescripcion = "PullMan";
                                ubicaciones.Add(ubicacion7);
                                //cantidadBotonesRed++;
                                //asientosConFila.Add(cComponente2.Name);
                            }
                            if (cComponente2.BackColor == Color.Pink)
                            {
                                Ubicacion ubicacion8 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion8.asiento = int.Parse(numero);
                                ubicacion8.fila    = cComponente2.Name[0];
                                //ubicacion8.tipoUbicacionId = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Super PullMan").codigo;
                                ubicacion8.tipoUbicacionId = tu.buscarCodigoCategoria("Super PullMan");
                                ubicacion8.precio          = tiposDeUbicacionPorPublicacion.First(unTipo => unTipo.descripcion == "Super PullMan").precio;
                                //ubicacion.tipoDescripcion = "Super PullMan";
                                ubicaciones.Add(ubicacion8);
                                //cantidadBotonesPink++;
                                //asientosConFila.Add(cComponente2.Name);
                            }
                            if (cComponente2.BackColor == Color.Silver && cComponente2.Visible == true)
                            {
                                Ubicacion ubicacion8 = new Ubicacion();
                                string    numero     = soloNumeros(cComponente2.Name);
                                ubicacion8.asiento = int.Parse(numero);
                                ubicacion8.fila    = cComponente2.Name[0];
                                botonesSinCategoria++;
                            }
                        }
                    }
                }
            }
            return(ubicaciones);
        }
示例#16
0
        /// <summary>
        /// Evento Producido al Cargar la Página
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            //Obteniendo Campos del Request
            TipoUbicacion param1 = (TipoUbicacion)Convert.ToByte(Request.QueryString["P1"]);
            string        param2 = Request.QueryString["P2"];
            string        param3 = Request.QueryString["P3"];
            string        param4 = Request.QueryString["P4"];
            string        param5 = Request.QueryString["P5"];
            string        param6 = Request.QueryString["P6"];
            string        param7 = Request.QueryString["P7"];

            //Validando Tipo de Ubicación
            switch (param1)
            {
            case TipoUbicacion.Incidencia:
            {
                //Validando que los Valores no esten vacios
                if (!string.IsNullOrEmpty(param2))
                {
                    //Instanciando Incidencia
                    using (SAT_CL.Monitoreo.BitacoraMonitoreo incidencia = new SAT_CL.Monitoreo.BitacoraMonitoreo(Convert.ToInt32(param2)))
                    {
                        //Validando que exista la Incidencia
                        if (incidencia.habilitar)
                        {
                            //Inicializando Mapa
                            ucMapaUbicacionExterna.InicializaMapaUbicacion("ROAD", 22, incidencia.geoubicacion, incidencia.comentario);
                        }
                    }
                }
                break;
            }

            case TipoUbicacion.HistorialIncicencias:
            {
                //Obteniendo Fechas
                DateTime inicio, fin;
                DateTime.TryParse(Cadena.RegresaCadenaSeparada(param4.Replace("T", " "), "|", 0), out inicio);
                DateTime.TryParse(Cadena.RegresaCadenaSeparada(param4.Replace("T", " "), "|", 1), out fin);

                //Obteniendo Incidencias
                using (DataTable dtIncidencias = SAT_CL.Monitoreo.BitacoraMonitoreo.CargaHistorialBitacoraMonitoreo(Convert.ToInt32(param5),
                                                                                                                    Convert.ToInt32(param6), inicio, fin, Convert.ToByte(param2), ""))
                {
                    //Validando si hay incidencias
                    if (Validacion.ValidaOrigenDatos(dtIncidencias))
                    {
                        //Declarando Contador
                        int contador = 0;

                        //Definiendo objeto principal para listar los puntos (lat, long) que conforman el poligono
                        List <wucMapaUbicacion.Maps> ubicaciones = new List <wucMapaUbicacion.Maps>();

                        //Recorriendo
                        foreach (DataRow dr in dtIncidencias.Rows)
                        {
                            //Instanciando Incidencia
                            using (SAT_CL.Monitoreo.BitacoraMonitoreo incidencia = new SAT_CL.Monitoreo.BitacoraMonitoreo(Convert.ToInt32(dr["Id"])))
                            {
                                //Valdiando que exista una Incidencia
                                if (incidencia.habilitar)
                                {
                                    //Validando que exista el Punto
                                    if (incidencia.geoubicacion != SqlGeography.Null)
                                    {
                                        //Determinando el tipo de geometría que representa el valor geográfico
                                        switch (incidencia.geoubicacion.STGeometryType().Value)
                                        {
                                        case "Point":
                                        {
                                            //Creando Punto
                                            ubicaciones.Add(new wucMapaUbicacion.Maps
                                                    {
                                                        //Asignando Valores
                                                        tipo        = dr["Tipo"].ToString(),
                                                        fecha       = incidencia.fecha_bitacora,
                                                        descripcion = incidencia.comentario,
                                                        punto       = new PointF((float)incidencia.geoubicacion.Lat.Value, (float)incidencia.geoubicacion.Long.Value)
                                                    });
                                            break;
                                        }
                                        }
                                    }
                                }
                            }

                            //Si hay 10 puntos o mas
                            if (contador >= 10)
                            {
                                //Termina Ciclo
                                break;
                            }

                            //Incrementando Contador
                            contador++;
                        }

                        //Inicializando Mapa
                        ucMapaUbicacionExterna.InicializaMapaPuntos("roadMap", 22, ubicaciones);
                    }
                }


                break;
            }

            case TipoUbicacion.ProveedorGPS:
            {
                //Creando Punto
                SqlGeography point = SqlGeography.Point(Convert.ToDouble(param2), Convert.ToDouble(param3), 4326);

                //Inicializando Mapa
                ucMapaUbicacionExterna.InicializaMapaUbicacion("ROAD", 22, point, param4);
                break;
            }
            }
        }
示例#17
0
文件: Geocoding.cs 项目: lulzzz/SAT
        /// <summary>
        /// Realiza la petición de geocodificación inversa devolviendo el resultado en formato XML
        /// </summary>
        /// <param name="lat">Latitud</param>
        /// <param name="lng">Longitud</param>
        /// <param name="tipo_ubicacion">Tipo de Ubicación a buscar</param>
        /// <param name="tipo_resultado">Tipo de resultado deseado</param>
        /// <param name="idioma_respuesta">Idioma de la respuesta esperada</param>
        /// <param name="respuesta_predeterminada">En caso de existir algún incidente en la obtención de la geocodificación inversa, se utilizará este valor como retorno predeterminado</param>
        /// <returns></returns>
        public RetornoOperacion ObtenerGeocofificacionInversa(double lat, double lng, TipoUbicacion tipo_ubicacion, TipoResultado tipo_resultado, IdiomaRespuesta idioma_respuesta, string respuesta_predeterminada)
        {
            //Filtros de búsqueda
            string tipoResultado = tipo_resultado.Equals(TipoResultado.def) ? "" : "&result_type=" + tipo_resultado.ToString().ToLower();
            string tipoUbicacion = tipo_ubicacion.Equals(TipoUbicacion.DEF) ? "" : "&location_type=" + tipo_ubicacion.ToString().ToUpper();

            //Declarando objeto de retorno y generando consumo de API
            RetornoOperacion resultado = HTTPWeb.CrearPeticionYRespuesta(string.Format("{0}/xml?latlng={1},{2}&key={3}&language={4}{5}{6}", this._url, lat.ToString(), lng.ToString(), this._key, idioma_respuesta.ToString().ToLower(), tipoResultado, tipoUbicacion), HTTPWeb.Metodo.POST);

            //Si no hay errores en petición
            if (resultado.OperacionExitosa)
            {
                try
                {
                    //Convirtiendo respuesta a XML
                    XDocument doc = XDocument.Parse(resultado.Mensaje);

                    if (doc.Root.Element("status").Value.Equals("OK"))
                    {
                        //Validando contenido de respuesta
                        string res = doc.Root.Element("result").Element("formatted_address").Value;
                        resultado = new RetornoOperacion(res, true);
                    }
                    else
                    {
                        resultado = new RetornoOperacion(respuesta_predeterminada, false);
                    }
                }
                catch (Exception)
                {
                    resultado = new RetornoOperacion(respuesta_predeterminada, false);
                }
            }

            //Devolviendo respuesta
            return(resultado);
        }