Exemple #1
0
        public ActionResult Establecimiento(string establecimientoId)
        {
            var establecimientos = Database.GetCollection <Establecimiento>("Establecimiento");
            var query            = Query <Establecimiento> .EQ(e => e.Id, establecimientoId);

            var establecimiento = establecimientos.FindOne(query);

            var fourSquareVenue = BuscarAgregarEstablecimiento(establecimiento);

            establecimiento.FourSquareVenueId = fourSquareVenue.id;
            establecimiento.Likes             = fourSquareVenue.likes.count;
            establecimientos.Save(establecimiento);

            var sharpSquare = (SharpSquare)Session["SharpSquare"];

            var fourSquareUser = sharpSquare.GetUser("self");

            var establecimientoViewModel = new EstablecimientoViewModel
            {
                Establecimiento     = establecimiento,
                FourSquareViewModel = new FourSquareViewModel
                {
                    Venue = fourSquareVenue,
                    User  = fourSquareUser
                }
            };

            return(View("Establecimiento", establecimientoViewModel));
        }
        public ActionResult Crear(EstablecimientoViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (db.Establecimientos.Any(x => x.EstablecimientoRbd == model.EstablecimientoRbd)) // select * from users where email = [email protected]
                {
                    ViewData["ErrorMessage"] = "El RBD ya se encuentra registrado";
                    return(View(model));
                }
                var establecimiento = new Establecimiento();
                establecimiento.EstablecimientoRbd        = model.EstablecimientoRbd;
                establecimiento.EstablecimientoNombre     = model.EstablecimientoNombre;
                establecimiento.EstablecimientoDirecccion = model.EstablecimientoDirecccion;
                establecimiento.EstablecimientoFono       = model.EstablecimientoFono;
                db.Establecimientos.Add(establecimiento);
                db.SaveChanges(); // guarda los cambios

                TempData["SuccessMessage"] = "Establecimiento creado correctamente";
                return(RedirectToAction("Index", "Establecimiento"));
            }
            var establecimientos = db.Establecimientos.OrderBy(x => x.EstablecimientoId).ToList();

            model.Establecimientos = establecimientos;
            return(View("Index", model));
        }
        public async Task <IActionResult> Edit(long id)
        {
            try
            {
                var dto = (EstablecimientoDto)await _establecimientoServicio.Obtener(id);

                var direccion = await _helperDireccion.ObtenerDireccion(dto.DireccionId);

                var provinciaId = await _helperLocalidad.ObtenerProvinciaIdPorLocalidad(direccion.LocalidadId);

                var model = new EstablecimientoViewModel()
                {
                    Id          = dto.Id,
                    Nombre      = dto.Nombre,
                    DireccionId = dto.DireccionId,
                    Direccion   = direccion,
                    Paises      = await _helperPais.PoblarSelect(),
                    PaisId      = await _helperLocalidad.ObtenerPaisIdPorLocalidad(direccion.LocalidadId),
                    ProvinciaId = provinciaId,
                    Localidades = await _helperLocalidad.ObtenerLocalidadesPorProvincia(provinciaId),
                    Provincias  = await _helperProvincia.PoblarSelect()
                };

                ViewBag.EstablecimientoDuplicado = false;
                return(View(model));
            }
            catch (Exception)
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
        public ActionResult Crear()
        {
            EstablecimientoViewModel vm = new EstablecimientoViewModel();
            var establecimientos        = db.Establecimientos.OrderBy(x => x.EstablecimientoNombre).ToList();

            vm.Establecimientos = establecimientos;
            return(View(vm));
        }
        // GET: Establecimiento
        public ActionResult Index(string q)
        {
            var establecimientos        = db.Establecimientos.OrderBy(x => x.EstablecimientoId).ToList();
            EstablecimientoViewModel vm = new EstablecimientoViewModel();

            vm.Establecimientos = establecimientos;
            return(View(vm));
        }
        public async Task <IActionResult> Create()
        {
            var model = new EstablecimientoViewModel()
            {
                Paises = await _helperPais.PoblarSelect()
            };

            ViewBag.EstablecimientoDuplicado = false;

            return(View(model));
        }
        public async Task <EstablecimientoViewModel> ObtenerEstablecimiento(long id)
        {
            var dto = (EstablecimientoDto)await _establecimientoServicio.Obtener(id);

            var model = new EstablecimientoViewModel()
            {
                Id            = dto.Id,
                Nombre        = dto.Nombre,
                DireccionId   = dto.DireccionId,
                EstaEliminado = dto.EliminadoStr,
                Direccion     = await _helperDireccion.ObtenerDireccion(dto.DireccionId),
            };

            return(model);
        }
        public async Task <IActionResult> Edit(EstablecimientoViewModel vm)
        {
            try
            {
                ViewBag.EstablecimientoDuplicado = false;
                if (!ModelState.IsValid)
                {
                    throw new Exception("Error de validacion no controlado.");
                }

                // comprobar si cambio la direccion
                var direccionId = await _helperDireccion.ExisteDireccion(vm.Direccion);

                if (!direccionId.HasValue)
                {
                    direccionId = await _helperDireccion.NuevaDireccion(vm.Direccion);
                }
                else
                {
                    var existe = await _establecimientoServicio.Existe(vm.Nombre, vm.Direccion.Descripcion,
                                                                       vm.Direccion.LocalidadId, vm.Id);

                    if (existe)
                    {
                        ViewBag.EstablecimientoDuplicado = true;
                        throw new Exception("Establecimiento duplicado");
                    }
                }

                vm.DireccionId = direccionId.Value;

                var dto = new EstablecimientoDto()
                {
                    Id          = vm.Id,
                    Nombre      = vm.Nombre,
                    DireccionId = vm.DireccionId
                };

                await _establecimientoServicio.Modificar(dto);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception)
            {
                return(View(vm));
            }
        }
        public async Task <IActionResult> Create(EstablecimientoViewModel vm)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    throw new Exception("Error de validacion no controlado.");
                }

                ViewBag.EstablecimientoDuplicado = false;
                // Existe establecimiento
                var existeEstablecimiento = await _establecimientoServicio.Existe(vm.Nombre, vm.Direccion.Descripcion, vm.Direccion.LocalidadId);

                if (existeEstablecimiento)
                {
                    ViewBag.EstablecimientoDuplicado = true;
                    throw new Exception("Establecimiento duplicado.");
                }
                // Existe direccion -> si no existe la creo y obtengo el id
                var direccionId = await _helperDireccion.ExisteDireccion(vm.Direccion);

                if (!direccionId.HasValue)
                {
                    // creo la direccion y devuelvo el id
                    direccionId = await _helperDireccion.NuevaDireccion(vm.Direccion);
                }
                vm.DireccionId = direccionId.Value;

                // creo el establecimiento
                var dto = new EstablecimientoDto()
                {
                    Nombre      = vm.Nombre,
                    DireccionId = vm.DireccionId
                };

                await _establecimientoServicio.Insertar(dto);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception)
            {
                return(View(vm));
            }
        }
        public ActionResult Update(int id)
        {
            var establecimientos = db.Establecimientos.OrderBy(x => x.EstablecimientoId).ToList();
            var establecimiento  = establecimientos.FirstOrDefault(x => x.EstablecimientoId == id);

            if (id == 0 || establecimientos == null)
            {
                TempData["ErrorMessage"] = "El RBD no fue encontrado";
                return(RedirectToAction("Index"));
            }
            EstablecimientoViewModel vm = new EstablecimientoViewModel();

            vm.EstablecimientoId         = establecimiento.EstablecimientoId;
            vm.EstablecimientoRbd        = establecimiento.EstablecimientoRbd;
            vm.EstablecimientoNombre     = establecimiento.EstablecimientoNombre;
            vm.EstablecimientoDirecccion = establecimiento.EstablecimientoDirecccion;
            vm.EstablecimientoFono       = establecimiento.EstablecimientoFono;
            return(View(vm));
        }
        public ActionResult Update(EstablecimientoViewModel vm)
        {
            var establecimientos = db.Establecimientos.OrderBy(x => x.EstablecimientoId).ToList();
            var establecimiento  = establecimientos.FirstOrDefault(x => x.EstablecimientoId == vm.EstablecimientoId);

            if (establecimientos == null)
            {
                TempData["ErrorMessage"] = "El RBD no fue encontrado";
                return(RedirectToAction("Index"));
            }
            establecimiento.EstablecimientoRbd        = vm.EstablecimientoRbd;
            establecimiento.EstablecimientoNombre     = vm.EstablecimientoNombre;
            establecimiento.EstablecimientoDirecccion = vm.EstablecimientoDirecccion;
            establecimiento.EstablecimientoFono       = vm.EstablecimientoFono;
            db.Entry(establecimiento).State           = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();
            TempData["SuccessMessage"] = "Establecimiento actualizado correctamente";
            return(RedirectToAction("Index", "Establecimiento"));
        }
        public async Task <IActionResult> Details(long id)
        {
            try
            {
                var dto = (EstablecimientoDto)await _establecimientoServicio.Obtener(id);

                var direccion = await _helperDireccion.ObtenerDireccion(dto.DireccionId);

                var model = new EstablecimientoViewModel()
                {
                    Id            = dto.Id,
                    EstaEliminado = dto.EliminadoStr,
                    DireccionId   = dto.DireccionId,
                    Nombre        = dto.Nombre,
                    Direccion     = direccion,
                };

                return(View(model));
            }
            catch (Exception)
            {
                return(RedirectToAction(nameof(Index)));
            }
        }