////////////////Constructor Viejo(Usado en controlador////////////////
 public LocalComercial(string nombre, DbGeography unaCoordenada, Rubro rubro)
     : base(nombre, unaCoordenada)
 {
     this.rubro  = rubro;
     coordenada  = unaCoordenada;
     nombreDePOI = nombre;
 }
 public LocalComercial(DbGeography unaCoordenada, string calle, int numeroAltura, int piso, int unidad,
                       int codigoPostal, string localidad, string barrio, string provincia, string pais, string entreCalles, List <string> palabrasClave,
                       string nombreDePOI, List <HorarioAbierto> horarioAbierto, List <HorarioAbierto> horarioFeriados,
                       Rubro rubro, string nombreFantasia)
 {
     base.coordenada     = unaCoordenada;
     base.calle          = calle;
     base.numeroAltura   = numeroAltura;
     base.piso           = piso;
     base.unidad         = unidad;
     base.codigoPostal   = codigoPostal;
     base.localidad      = localidad;
     base.barrio         = barrio;
     base.provincia      = provincia;
     base.pais           = pais;
     base.entreCalles    = entreCalles;
     base.palabrasClave  = palabrasClave;
     base.nombreDePOI    = nombreDePOI;
     base.horarioAbierto = horarioAbierto;
     base.horarioFeriado = horarioFeriados;
     this.rubro          = rubro;
     this.nombreFantasia = nombreFantasia;
 }
        //Alta Local Comercial
        public void agregarPOILocalComercialT(string nombreRubro, string nombreLocalComercial, int radioCercania, DbGeography unaCoordenada, Rubro rubro, DateTime dateRubro, string direccion, int piso, char dto)
        {
            if (!noExistePOI(nombreRubro) && !noExistePOI(nombreLocalComercial) && !noExistePOI(direccion))
            {
                List <string> listaFiltradaDeLocales = new List <string>(listaDeLocales.Where(x => x == nombreLocalComercial.ToString()).ToList());

                List <string> listaFiltradaDeRubro = new List <string>(listaDeRubros.Where(x => x == rubro.ToString()).ToList());


                if (listaFiltradaDeRubro.ToString().Length == 0) //El Rubro no existe => Lo puedo agregar como POI
                {
                    if (listaFiltradaDeLocales.ToString().Length == 0)
                    {
                        //Creo las paradas de esta linea
                        List <String> rubrosDeEsteLocalComercial = new List <String>();

                        //Doy de Alta el nuevo Rubro
                        rubrosDeEsteLocalComercial.Add(nombreRubro);

                        //Agrego nombre del rubro y el resto de sus datos
                        List <tipoLocal> listado = new List <tipoLocal>();
                        //listado.Add(new tipoLocal { nombreRubro = "Jugueteria", nombreLocalComercial = "Mi pequeño pony", radioCercania = 22, new GeoCoordinate(-34.81725, -58.4476116), Rubro jugueteria, DateTime dateRubro, "Av Rivadavia 1234", 1, A });

                        listado.Add(new tipoLocal {
                            nombreRubro = "Jugueteria", nombreLocalComercial = "Mi pequeño pony", radioCercania = 2, direccion = "Av Rivadavia 1234", piso = 1, dto = 'A'
                        });

                        listado.Add(new tipoLocal {
                            nombreRubro = "Jugueteria", nombreLocalComercial = "Mario", radioCercania = 2, direccion = "Av Alvarez Jonte 4355", piso = 1, dto = 'B'
                        });
                        listado.Add(new tipoLocal {
                            nombreRubro = "Libreria", nombreLocalComercial = "San roman", radioCercania = 44, direccion = "Alvear 55", piso = 1, dto = 'B'
                        });
                    }
                    else if (listaFiltradaDeLocales.ToString().Length > 0) //ya existe el local comercial
                    {
                        //Agrego nombre del rubro y el resto de sus datos
                        List <tipoLocal> listado = new List <tipoLocal>();
                        //listado.Add(new tipoLocal { nombreRubro = "Jugueteria", nombreLocalComercial = "Mi pequeño pony", radioCercania = 22, new GeoCoordinate(-34.81725, -58.4476116), Rubro jugueteria, DateTime dateRubro, "Av Rivadavia 1234", 1, A });

                        listado.Add(new tipoLocal {
                            nombreRubro = "Jugueteria", nombreLocalComercial = "Mi pequeño pony", radioCercania = 2, direccion = "Av Rivadavia 1234", piso = 1, dto = 'A'
                        });

                        listado.Add(new tipoLocal {
                            nombreRubro = "Jugueteria", nombreLocalComercial = "Mario", radioCercania = 2, direccion = "Av Alvarez Jonte 4355", piso = 1, dto = 'B'
                        });
                        listado.Add(new tipoLocal {
                            nombreRubro = "Libreria", nombreLocalComercial = "San roman", radioCercania = 44, direccion = "Alvear 55", piso = 1, dto = 'B'
                        });
                    }

                    else
                    {
                        throw new ArgumentException("No se puede realizar la Alta este punto de interés. ¡Vuelva a intentarlo!");
                    }
                }
                else if (listaFiltradaDeRubro.ToString().Length > 0) //Ya existe el rubro
                {
                    //Si el local ya existe, lo agrego al rubro
                    //Agrego nombre del rubro y el resto de sus datos
                    List <tipoLocal> listado = new List <tipoLocal>();
                    //listado.Add(new tipoLocal { nombreRubro = "Jugueteria", nombreLocalComercial = "Mi pequeño pony", radioCercania = 22, new GeoCoordinate(-34.81725, -58.4476116), Rubro jugueteria, DateTime dateRubro, "Av Rivadavia 1234", 1, A });

                    listado.Add(new tipoLocal {
                        nombreRubro = "Jugueteria", nombreLocalComercial = "Mi pequeño pony", radioCercania = 2, direccion = "Av Rivadavia 1234", piso = 1, dto = 'A'
                    });

                    listado.Add(new tipoLocal {
                        nombreRubro = "Jugueteria", nombreLocalComercial = "Mario", radioCercania = 2, direccion = "Av Alvarez Jonte 4355", piso = 1, dto = 'B'
                    });
                    listado.Add(new tipoLocal {
                        nombreRubro = "Libreria", nombreLocalComercial = "San roman", radioCercania = 44, direccion = "Alvear 55", piso = 1, dto = 'B'
                    });
                }
                else
                {
                    throw new System.ArgumentException("No se puede dar de Alta este punto de interés");
                }
            }
            else
            {
                throw new ArgumentException("No se puede realizar la Alta este punto de interés. ¡Vuelva a intentarlo!");
            }
        }