Esempio n. 1
0
 private void btn_alta_publicacion_Click(object sender, EventArgs e)
 {
     if (!validarIngresos())
     {
         return;
     }
     PublicacionRepositorio.actualizarPublicacionPuntual(getPublicacionDeUi());
 }
 public ActionResult Categorias()
 {
     if (Session["culture"] == null)
         Session["culture"] = "es-MX";
     IRepositorio<Categorium> repositorioCategoria = new CategoriumRepositorio();
     IList<Categorium> todasCategorias = repositorioCategoria.GetAll();
     IList<Categorium> todasCategoriasVistas = new List<Categorium>();
     IRepositorio<SubCategorium> repositorioSubcategoria = new SubCategoriumRepositorio();
     IList<SubCategorium> todasSubCategorias = repositorioSubcategoria.GetAll();
     IList<SubCategorium> listaSubCategorias = new List<SubCategorium>();
     IRepositorio<Publicacion> repositorioPublicacion = new PublicacionRepositorio();
     IList<Publicacion> listaPublicaciones = repositorioPublicacion.GetAll();
     IList<string> listaLugares = new List<string>();
     foreach (var categoria in todasCategorias)
     {
         if (categoria.Idioma == Session["culture"].ToString())
         {
             foreach (var subCategoria in todasSubCategorias)
             {
                 if (subCategoria.IdCategoria == categoria.IdCategoria)
                 {
                     foreach (var publicacion in listaPublicaciones)
                     {
                         if (publicacion.IdSubCategoria == subCategoria.IdSubCategoria)
                         {
                             if (!listaLugares.Contains(publicacion.Estado))
                                 listaLugares.Add(publicacion.Estado);
                         }
                     }
                     subCategoria.Lugares = listaLugares;
                     listaLugares = new List<string>();
                     listaSubCategorias.Add(subCategoria);
                 }
             }
             categoria.SubCategoriums = listaSubCategorias;
             listaSubCategorias = new List<SubCategorium>();
             todasCategoriasVistas.Add(categoria);
         }
     }
     return PartialView(todasCategoriasVistas);
 }
 private List <PublicacionPuntual> getPublicacionesComprables(int offset, int limit, bool ascending = true)
 {
     Offset = offset;
     return(PublicacionRepositorio.getPublicacionesComprables(txtDescripcion.Text, dtpDesde.Value, dtpHasta.Value,
                                                              getCategoriasStr(), offset, limit, ascending));
 }
        public ActionResult Lista(int pagActual, int orden, string cat, string sub, string lug)
        {
            var myRepoPublicacion = new PublicacionRepositorio();
            var myRepoSubCat = new SubCategoriumRepositorio();
            var myRepoCat = new CategoriumRepositorio();
            var myRepoPrecio = new PrecioRepositorio();
            IList<IList<Publicacion>> listaDeLista = new List<IList<Publicacion>>();
            IList<Publicacion> listaPub = new List<Publicacion>();
            IList<Publicacion> listaPub2 = myRepoPublicacion.GetAll();
            foreach (var publicacion in listaPub2)
            {
                publicacion.SubCategorium = myRepoSubCat.GetById(publicacion.IdSubCategoria);
                if(lug!=null && sub!=null && cat!=null)
                {
                    publicacion.Categorium = myRepoCat.GetById(publicacion.SubCategorium.IdCategoria);
                    if (publicacion.SubCategorium.Nombre == sub && publicacion.Categorium.Nombre == cat && publicacion.Estado ==lug)
                        listaPub.Add(publicacion);
                }
                else
                {
                    if (sub != null && cat != null)
                    {
                        publicacion.Categorium = myRepoCat.GetById(publicacion.SubCategorium.IdCategoria);
                        if (publicacion.SubCategorium.Nombre == sub && publicacion.Categorium.Nombre == cat)
                            listaPub.Add(publicacion);
                    }else
                    {
                        if (sub != null && lug != null)
                        {
                            if (publicacion.SubCategorium.Nombre == sub && publicacion.Estado == lug)
                            listaPub.Add(publicacion);
                        }
                        else
                        {
                            if (cat != null && lug != null)
                            {
                                publicacion.Categorium = myRepoCat.GetById(publicacion.SubCategorium.IdCategoria);
                                if (publicacion.Categorium.Nombre == sub && publicacion.Estado == lug)
                                listaPub.Add(publicacion);
                            }else
                            {
                                if (sub != null)
                                {
                                    if (publicacion.SubCategorium.Nombre == sub)
                                    listaPub.Add(publicacion);
                                }
                                else
                                {
                                    if (cat != null)
                                    {
                                        publicacion.Categorium = myRepoCat.GetById(publicacion.SubCategorium.IdCategoria);
                                        if (publicacion.Categorium.Nombre == cat)
                                        listaPub.Add(publicacion);
                                    }
                                    else
                                    {
                                        if (lug != null)
                                        {
                                            if (publicacion.Estado == lug)
                                            listaPub.Add(publicacion);
                                        }
                                    }
                                }
                            }
                        }
                    }

                }

            }
            if (listaPub.Count() == 0)
            {
                ViewData["nroPaginas"] = 1;
                ViewData["pagActual"] = 1;
                ViewData["cuenta"] = 0;
                return View(new List<Publicacion>());
            }
            foreach (var publicacion in listaPub)
            {
                publicacion.Precios = new List<Precio>();
                IList<Precio> lPrecio = myRepoPrecio.GetAll();
                foreach (var precio in lPrecio)
                {
                    if (precio.IdPublicacion == publicacion.IdPublicacion)
                    {
                        publicacion.Precios.Add(precio);
                    }
                }
            }
            IOrderedEnumerable<Publicacion> lista;
            if (orden != 1)
            {
                lista =listaPub.OrderBy(model => model.Precios[0].PrecioMin);
            }else
            {
                lista =listaPub.OrderByDescending(model => model.Precios[0].PrecioMax);
            }
            listaPub=lista.ToList();
            int nroPaginas = listaPub.Count/8;
            IList<Publicacion> listaPubAux = new List<Publicacion>();
            var cont = 0;
            var cont2 = 0;
            foreach (var publicacion in listaPub)
            {
                var myRepoIma = new ImageneRepositorio();
                var listaImagen = myRepoIma.GetAll();
                foreach (var imagene in listaImagen)
                {
                    if (imagene.IdPublicacion == publicacion.IdPublicacion)
                    {
                        publicacion.Imagen = imagene;
                        break;
                    }
                }
                cont++;
                cont2++;
                if (cont < 9)
                {
                    listaPubAux.Add(publicacion);
                }
                else
                {
                    listaDeLista.Add(listaPubAux);
                    listaPubAux = new List<Publicacion>();
                    listaPubAux.Add(publicacion);
                    cont = 0;
                }
                if (cont2 == listaPub.Count && cont < 9)
                {
                    listaDeLista.Add(listaPubAux);
                }
            }
            if (pagActual <= listaDeLista.Count && pagActual > 0)
            {
                ViewData["nroPaginas"] = nroPaginas;
                ViewData["pagActual"] = pagActual;
                ViewData["cuenta"] = listaDeLista[pagActual - 1].Count;
                return View(listaDeLista[pagActual - 1]);
            }

            return View();
        }
        public ActionResult Index(string publicacion)
        {
            var myRepoPublicacion = new PublicacionRepositorio();
            var myRepoEmpresa = new EmpresaRepositorio();
            var myRepoCat = new CategoriumRepositorio();
            var myRepoSub = new SubCategoriumRepositorio();
            // Lista de todas las publicaciones
            var listaPublicacion = myRepoPublicacion.GetAll();
            if (listaPublicacion != null)
            {
                foreach (var publicacion1 in listaPublicacion)
                {
                    //asigno las foraneas de cada publicacion
                    publicacion1.Empresa = myRepoEmpresa.GetById(publicacion1.IdEmpresa);
                    publicacion1.SubCategorium = myRepoSub.GetById(publicacion1.IdSubCategoria);
                    publicacion1.SubCategorium.Categorium = myRepoCat.GetById(publicacion1.SubCategorium.IdCategoria);
                }
            }

            if (publicacion != null)
            {
                IList<Publicacion> publicacionBuscada = new List<Publicacion>();
                if (listaPublicacion != null)
                {
                    foreach (var publicacion1 in listaPublicacion)
                    {
                        if (publicacion1.Nombre == publicacion)
                        {
                            publicacionBuscada.Add(publicacion1);
                        }
                    }
                    return View(publicacionBuscada);
                }
            }

            return View(listaPublicacion);
        }
        public ActionResult Create(Publicacion p,FormCollection collection)
        {
            //Empresa
            var nombreEmpresa = collection[0];
            var repoEmp = new EmpresaRepositorio();
            var listaEmp = repoEmp.GetAll();
            foreach (var empresa in listaEmp.Where(empresa => empresa.Nombre == nombreEmpresa))
            {
                p.IdEmpresa = empresa.IdEmpresa;
            }
            if (String.IsNullOrEmpty(nombreEmpresa) || p.IdEmpresa == 0)
            {
                ModelState.AddModelError("NombreE", "Nombre Empresa es Necesario");
                return View(p);
            }
            if (String.IsNullOrEmpty(p.Pais) || p.Pais.CompareTo("--Seleccione--")==0)
            {
                ModelState.AddModelError("Pais", "Pais es Necesario");
                return View(p);
            }
            if (String.IsNullOrEmpty(p.Estado) || p.Estado.CompareTo("--Seleccione--") == 0)
            {
                ModelState.AddModelError("Estado", "Estado es Necesario");
                return View(p);
            }
            if (String.IsNullOrEmpty(p.Ciudad) || p.Ciudad.CompareTo("--Seleccione--") == 0)
            {
                ModelState.AddModelError("Ciudad", "Ciudad es Necesario");
                return View(p);
            }

            //fin Empresa
            //Sub Categoria
            var repoSub = new SubCategoriumRepositorio();
            var listaSub = repoSub.GetAll();
            var subCategorias = p.SubCategorium.Nombre.Split('-');
            var subCategoria = "";
            subCategoria = subCategorias[1].Substring(1);
            p.SubCategorium = new SubCategorium();
            foreach (var subCategorium in listaSub.Where(subCategorium => subCategorium.Nombre == subCategoria))
            {
                p.IdSubCategoria = subCategorium.IdSubCategoria;
            }
            //fin Sub Categoria
            var repoPubli = new PublicacionRepositorio();
            IList<Idioma> myIdiomas = p.Idioma;
            p.Idioma = null;
            var repoLug = new LugarRepositorio();
            p.Ciudad = repoLug.GetById(Convert.ToInt32(p.Ciudad)).Nombre;
            p.Estado = repoLug.GetById(Convert.ToInt32(p.Estado)).Nombre;
            var idPublicacion = repoPubli.Save(p);

            //Precios
            IList<Precio> listaPrecios = p.Precios;
            var repoPrecios = new PrecioRepositorio();
            foreach (var precio in listaPrecios)
            {
                precio.IdPublicacion = idPublicacion;
                repoPrecios.Save(precio);
            }

            //fin Precios
            p.Idioma = myIdiomas;
            //Servicios
            if (p.Servicios != null){
                var misServicios = new List<Servicio>(p.Servicios);
                foreach (var misServicio in misServicios)
                {
                    if (misServicio.IdServicio == 0) continue;
                    var pB = new PublicacionServicio
                                 {
                                     IdPublicacion = idPublicacion,
                                     IdServicio = misServicio.IdServicio
                                 };
                    var repoPubSer = new PublicacionServicioRepositorio();
                    repoPubSer.Save(pB);
                }
            }

            //fin Servicios
            //Idioma
            var repoIdioma = new IdiomaRepositorio();
            var idioma = p.Idioma[0];
            idioma.IdPublicacion = idPublicacion;
            if(p.Idioma[0].Categoria != "Otra")
            {
                p.Idioma[0].Categoria.Substring(0, 1);
               repoIdioma.Save(idioma);
            }
            else
            {
                idioma.Categoria = p.Idioma[1].Categoria;
                repoIdioma.Save(idioma);
            }
            //fin Idioma
            //Session para las fotos
            Session["IdPublicacion"] = idPublicacion;

               return RedirectToAction("Upload");
        }
        public ActionResult Edit(Publicacion p, FormCollection collection)
        {
            int idPublicacion = p.IdPublicacion;
            //Precios
            IList<Precio> listaPrecios = p.Precios;
            var repoPrecios = new PrecioRepositorio();
            foreach (var precio in listaPrecios)
            {
                precio.IdPublicacion = idPublicacion;
                bool update = repoPrecios.Update(precio);
            }

            //fin Precios
            //Servicios

            var misServicios = new List<Servicio>(p.Servicios);
            var repoPubSer = new PublicacionServicioRepositorio();
            var repoSer = new ServicioRepositorio();
            var listaPubServ = repoPubSer.GetAll();
            bool flag = false;
            bool flag2 = false;
            foreach (var misServicio in misServicios)
            {
                if (misServicio.IdServicio != 0)
                {
                    foreach (var publicacionServicio in listaPubServ)
                    {
                        if(publicacionServicio.IdPublicacion==idPublicacion)
                        {
                            if(publicacionServicio.IdServicio==misServicio.IdServicio)
                            {
                                flag = true;
                                break;
                            }
                        }
                    }
                    if(!flag)
                    {
                        var pB = new PublicacionServicio
                        {
                            IdPublicacion = idPublicacion,
                            IdServicio = misServicio.IdServicio

                        };
                        repoPubSer.Save(pB);
                    }
                    flag = false;
                }else
                {
                    foreach (var publicacionServicio in listaPubServ)
                    {
                        if (publicacionServicio.IdPublicacion == idPublicacion)
                        {
                            if (publicacionServicio.IdServicio==misServicio.FkIdServicio)
                            {
                                flag2 = true;
                                misServicio.IdServicio = publicacionServicio.IdServicio;
                                break;
                            }
                        }
                    }
                    if (flag2)
                    {
                        var pB = new PublicacionServicio
                        {
                            IdPublicacion = idPublicacion,
                            IdServicio = misServicio.IdServicio

                        };
                        repoPubSer.Delete(pB);
                    }
                    flag2 = false;

                }

            }
            Idioma i = p.Idioma[0];
            var repoIdioma = new IdiomaRepositorio();
            i.IdPublicacion = p.IdPublicacion;
            repoIdioma.Update(i);

            var repoPubli = new PublicacionRepositorio();
            var b = repoPubli.Update(p);
            Session["IdPublicacion"] = idPublicacion;
            return RedirectToAction("EditForPublicacion","Imagene", new {idPubli = idPublicacion});
        }
        public ActionResult Find(string q)
        {
            IRepositorio<Publicacion> repoP = new PublicacionRepositorio();
            IList<Publicacion> Publicacions = repoP.GetAll();
            IList<Publicacion> posiblesPublicacions = Publicacions.Where(item => item.Nombre.Contains(q.ToUpper()) || item.Nombre.Contains(q.ToLower())).ToList();

            string[] pub = new string[posiblesPublicacions.Count];
            int i = 0;
            foreach (var publicacion in posiblesPublicacions)
            {
                pub[i] = publicacion.Nombre;
                i++;
            }

            return Content(string.Join("\n", pub)); ;
        }
        public ActionResult Edit(int id)
        {
            var repoPubli = new PublicacionRepositorio();
            var repoIdioma = new IdiomaRepositorio();
            var repoSer = new ServicioRepositorio();
            var publi = repoPubli.GetById(id);
            var servicios = repoSer.GetAll();
            var itemsCategoria = new List<string>();
            var itemsCategoria2 = new List<string>();
            foreach (var servicio in servicios)
            {
                if(servicio.Idioma.CompareTo("es-MX")==0){
                    itemsCategoria.Add(servicio.Nombre);
                    itemsCategoria2.Add(servicio.IdServicio.ToString());
                }
            }

            ViewData["Servicios-Es"] = itemsCategoria;
            ViewData["Servicios-Es-id"] = itemsCategoria2;

            itemsCategoria = new List<string>();
            itemsCategoria2 = new List<string>();
            foreach (var servicio in servicios)
            {
                if (servicio.Idioma.CompareTo("en-US") == 0){
                    itemsCategoria.Add(servicio.Nombre);
                    itemsCategoria2.Add(servicio.IdServicio.ToString());
                }
            }

            ViewData["Servicios-En"] = itemsCategoria;
            ViewData["Servicios-En-id"] = itemsCategoria2;

            var repoServiPubli = new PublicacionServicioRepositorio();
            var listaSerPub = repoServiPubli.GetAll();
            var listaPubSer = new List<PublicacionServicio>();
            foreach (var publicacionServicio in listaSerPub)
            {
                if(publicacionServicio.IdPublicacion==publi.IdPublicacion)
                    listaPubSer.Add(publicacionServicio);
            }
            var listaSer= listaPubSer.Select(publicacionServicio => repoSer.GetById(publicacionServicio.IdServicio)).ToList();

            publi.Servicios = listaSer;
            var listIdioma = repoIdioma.GetAll();
            publi.Idioma=new List<Idioma>();
            foreach (var idioma in listIdioma.Where(idioma => idioma.IdPublicacion == publi.IdPublicacion))
            {
                publi.Idioma.Add(idioma);
            }

            var repoPrecios = new PrecioRepositorio();
            var listaPre = repoPrecios.GetAll();
            var listaPre2 = new List<Precio>();
            foreach (var precio in listaPre)
            {
                if(precio.IdPublicacion== publi.IdPublicacion)
                    listaPre2.Add(precio);
            }
            publi.Precios = listaPre2;
             /*   var repoImg = new ImageneRepositorio();
            var listaImg = repoImg.GetAll();
            var listaImg2 = new List<Imagene>();
            foreach (var imagene in listaImg)
            {
                if(imagene.IdPublicacion==id)
                    listaImg2.Add(imagene);
            }
            publi.Imagenes = listaImg2;*/
            return View(publi);
        }
        //
        // GET: /Publicacion/Details/5
        public ActionResult Details(int id)
        {
            var myRepoPublicacion = new PublicacionRepositorio();
            var myRepoImagene = new ImageneRepositorio();
            var myRepoServicioP = new PublicacionServicioRepositorio();
            var myRepoCat = new CategoriumRepositorio();
            var myRepoSubCat = new SubCategoriumRepositorio();
            var myRepoEmpresa = new EmpresaRepositorio();
            var myRepoServicio = new ServicioRepositorio();
            var myRepoIdioma = new IdiomaRepositorio();
            var myRepoPrecio = new PrecioRepositorio();
            var p = myRepoPublicacion.GetById(id);
            if (p != null)
            {
                var listaImagenes = myRepoImagene.GetAll();
                var listaImagenesAux = listaImagenes.Where(imagene => imagene.IdPublicacion == id).ToList();
                p.Imagenes = listaImagenesAux;
                var listaIdioma = myRepoIdioma.GetAll();
                if (listaIdioma!=null)
                {
                    p.Idioma = new List<Idioma>();
                    foreach (var idioma in listaIdioma.Where(idioma => idioma.IdPublicacion == id))
                    {
                        p.Idioma.Add(idioma);
                    }
                }

                var listaServicio = myRepoServicioP.GetAll();
                if (listaServicio != null)
                {
                    p.Servicios = new List<Servicio>();
                    foreach (var servicio in listaServicio.Where(servicio => servicio.IdPublicacion == id))
                    {
                        p.Servicios.Add(myRepoServicio.GetById(servicio.IdServicio));
                    }
                }
                p.Empresa = myRepoEmpresa.GetById(p.IdEmpresa);
                p.SubCategorium = myRepoSubCat.GetById(p.IdSubCategoria);
                p.Categorium = myRepoCat.GetById(p.SubCategorium.IdCategoria);
                var listaPrecios = myRepoPrecio.GetAll();
                p.Precios = listaPrecios.Where(listaPrecio => listaPrecio.IdPublicacion == id).ToList();
                p.Reservacion = p.Reservacion == "S" ? "Si" : "No";
                if (p.Idioma[0].Categoria.CompareTo("1 Estrella") == 0 || p.Idioma[0].Categoria.CompareTo("2 Estrellas") == 0 || p.Idioma[0].Categoria.CompareTo("3 Estrellas") == 0 || p.Idioma[0].Categoria.CompareTo("4 Estrellas") == 0 || p.Idioma[0].Categoria.CompareTo("5 Estrellas") == 0)
                {
                    p.Idioma[0].Categoria = p.Idioma[0].Categoria.Substring(0, 1);

                }else
                {
                    p.Idioma.Add(new Idioma { Categoria = p.Idioma[0].Categoria });
                    p.Idioma[0].Categoria = "0";
                }

                return View(p);
            }
            return RedirectToAction("Index");
        }
 public ActionResult Delete(int id, FormCollection collection)
 {
     var repoPubli = new PublicacionRepositorio();
     repoPubli.Delete(repoPubli.GetById(id));
     return RedirectToAction("Index");
 }
Esempio n. 12
0
 private void btn_buscar_Click(object sender, EventArgs e)
 {
     actualizarListado(PublicacionRepositorio.getPublicacionesEditables(txt_titulo_pub.Text));
 }
 public ActionResult Index()
 {
     var myRepoPublicacion = new PublicacionRepositorio();
     var myRepoEmpresa = new EmpresaRepositorio();
     var myRepoCat = new CategoriumRepositorio();
     var myRepoSub = new SubCategoriumRepositorio();
     // Lista de todas las publicaciones
     var listaPublicacion = myRepoPublicacion.GetAll();
     if (listaPublicacion != null)
     {
         foreach (var publicacion in listaPublicacion)
         {
             //asigno las foraneas de cada publicacion
             publicacion.Empresa = myRepoEmpresa.GetById(publicacion.IdEmpresa);
             publicacion.SubCategorium = myRepoSub.GetById(publicacion.IdSubCategoria);
             publicacion.SubCategorium.Categorium = myRepoCat.GetById(publicacion.SubCategorium.IdCategoria);
         }
     }
     return View(listaPublicacion);
 }