public static bool EditarProducto(Producto _producto, Tienda _tienda, TiendaOnlineContext _db)
        {
            Producto prod = _tienda.Productos.Where(p => p.Id == _producto.Id).FirstOrDefault();

            if (prod == null)
            {
                return(false);
            }

            Categoria categoria = _db.Categorias.Find(_producto.CategoriaId);

            prod.Nombre        = _producto.Nombre;
            prod.Precio        = _producto.Precio;
            prod.Categoria     = categoria;
            prod.SoloCotizable = _producto.SoloCotizable;
            prod.Descripcion   = _producto.Descripcion;
            prod.Stock         = _producto.Stock;
            prod.Marca         = _producto.Marca;
            prod.Modelo        = _producto.Modelo;
            prod.Year          = _producto.Year;

            _db.SaveChanges();

            return(true);
        }
        public static void CambiarPuntuacion(int id, int iduser, int ratingValue, TiendaOnlineContext _db)
        {
            Producto producto = _db.Productos.Find(id);
            Usuario  usuario  = _db.Usuarios.Find(iduser);

            PuntuacionProducto existePuntuacionUsuario = producto.Puntuaciones.Where(ppto => ppto.Usuario.Id == iduser).FirstOrDefault();

            PuntuacionProducto pp = new PuntuacionProducto();

            pp.Puntuacion = (float)ratingValue;
            pp.Producto   = producto;
            pp.Fecha      = DateTime.Now;
            pp.Usuario    = usuario;

            if (existePuntuacionUsuario != null)
            {
                _db.PuntuacionesProducto.Remove(existePuntuacionUsuario);
                _db.SaveChanges();
            }

            producto.Puntuaciones.Add(pp);
            float total = 0;

            Producto productoAct = _db.Productos.Find(id);

            foreach (var p in productoAct.Puntuaciones)
            {
                total += p.Puntuacion;
            }

            productoAct.PuntuacionActual = total / productoAct.Puntuaciones.Count();

            _db.SaveChanges();
        }
        public static void EliminarProducto(TiendaOnlineContext _db, Tienda _tienda, int id)
        {
            Producto producto = _tienda.Productos.Where(p => p.Id == id).FirstOrDefault();

            if (producto == null)
            {
                return;
            }

            List <Imagen> imagenesProducto = producto.Imagenes.ToList();

            try
            {
                foreach (Imagen imagen in imagenesProducto)
                {
                    System.IO.File.Delete(imagen.DireccionImagen);
                }
            }
            catch
            {
                //carpeta no existe
            }

            _db.Imagenes.RemoveRange(imagenesProducto);

            _db.Productos.Remove(producto);
            _db.SaveChanges();
        }
Esempio n. 4
0
        public static LogoRemitente CrearNuevoLogo(TiendaOnlineContext _db, LogoRemitente _model, int idtienda, HttpPostedFileBase file)
        {
            if (_model.Nombre != null)
            {
                _model.Nombre = _model.Nombre.ToUpper();
            }

            _model.Nombre = _model.Nombre.Replace("\"", "");

            string nombreImagen = file.FileName;
            Tienda tienda       = _db.Tienda.Where(t => t.Id == idtienda).FirstOrDefault();

            Imagen imagen = new Imagen();
            string path   = Imagen.GuardarImagenEnTienda(tienda, "LogosRemitente", nombreImagen, file);

            if (path != null || !path.Equals("existe"))
            {
                LogoRemitente nuevo = new LogoRemitente();
                nuevo.Nombre        = _model.Nombre;
                nuevo.Tienda        = tienda;
                nuevo.DireccionLogo = path;
                nuevo.NombreImagen  = nombreImagen;

                _db.LogoRemitente.Add(nuevo);

                _db.SaveChanges();

                return(nuevo);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 5
0
        public static void EliminarProductoCarroCompra(int?_idProductoCarro, TiendaOnlineContext _db)
        {
            ProductoCarro prodCarro = _db.ProductosCarro.Where(pc => pc.Id == _idProductoCarro).FirstOrDefault();

            _db.ProductosCarro.Remove(prodCarro);
            _db.SaveChanges();
        }
        public static string GuardarLogoEnTienda(TiendaOnlineContext _db, Tienda tienda, string carpeta, string nombrefile, string file, ImagenTipo tipoImagen)
        {
            string convertedBase64String = file.Replace("data:image/png;base64,", String.Empty);

            int    tiendaId = tienda.Id;
            string fullPath = "";

            var basePath = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("~/ImagenesUsers/" + tiendaId + "/" + carpeta));

            if (!File.Exists(basePath))
            {
                Directory.CreateDirectory(basePath);
            }

            fullPath = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("~/ImagenesUsers/" + tiendaId + "/" + carpeta), nombrefile);
            try
            {
                if (File.Exists(fullPath))
                {
                    if (ImagenTipo.HeaderTienda == tipoImagen)
                    {
                        EliminarImagen(_db, tienda.ImageHeader.Id);
                    }
                    else if (ImagenTipo.ProfileTienda == tipoImagen)
                    {
                        EliminarImagen(_db, tienda.ImageProfile.Id);
                    }
                }


                Imagen nuevaImagen = new Imagen();

                nuevaImagen.DireccionImagen = fullPath;
                nuevaImagen.DimensionImagen = ImagenSize.Regular;
                nuevaImagen.TipoImagen      = tipoImagen;
                nuevaImagen.Tienda          = tienda;
                nuevaImagen.NombreImagen    = nombrefile;

                if (ImagenTipo.HeaderTienda == tipoImagen)
                {
                    tienda.ImageHeader = nuevaImagen;
                }
                else if (ImagenTipo.ProfileTienda == tipoImagen)
                {
                    tienda.ImageProfile = nuevaImagen;
                }

                _db.Imagenes.Add(nuevaImagen);
                _db.SaveChanges();

                File.WriteAllBytes(fullPath, Convert.FromBase64String(convertedBase64String));
            }
            catch (Exception e)
            {
                String message = e.StackTrace;
                return(null);
            }

            return(fullPath);
        }
        public static bool EliminarImagen(TiendaOnlineContext _db, int id)
        {
            Imagen imagen = _db.Imagenes.Find(id);

            if (imagen == null)
            {
                return(false);
            }

            imagen.Producto   = null;
            imagen.ProductoId = null;

            imagen.Servicio   = null;
            imagen.ServicioId = null;

            imagen.Tienda   = null;
            imagen.TiendaId = null;

            try
            {
                File.Delete(imagen.DireccionImagen);
            }
            catch
            {
                //carpeta no existe
            }

            _db.Imagenes.Remove(imagen);
            _db.SaveChanges();

            return(true);
        }
        public static bool CrearServicio(Servicio _servicio, Tienda _tienda, TiendaOnlineContext _db)
        {
            Servicio serv = _tienda.Servicios.Where(p => p.Nombre == _servicio.Nombre).FirstOrDefault();

            _tienda.Servicios.Add(_servicio);
            _db.SaveChanges();

            return(true);
        }
        }                                                                                //DEBE SER UNA

        public static UsuarioTienda CrearUsuarioTienda(TiendaOnlineContext _db, int idUsuario, Tienda tienda)
        {
            //Asignar Rol Administrador a Usuario
            Usuario usuario = _db.Usuarios.Find(idUsuario);

            Usuario.EditarUsuario(_db, usuario, tienda.Id, UsuarioTienda.RolEnTienda.Admin);
            UsuarioTienda usTienda = _db.UsuariosTienda.Where(ut => ut.Usuario.Id == idUsuario).FirstOrDefault();

            return(usTienda);
        }
Esempio n. 10
0
        public static Usuario AgregarCarroCompra(TiendaOnlineContext _db, Usuario _model, Carrocompra _carroCompra)
        {
            Usuario user = _db.Usuarios.Where(u => u.NombreUsuario == _model.NombreUsuario).FirstOrDefault();

            user.CarroCompra.Add(_carroCompra);

            _db.SaveChanges();

            return(user);
        }
Esempio n. 11
0
        public static string GetRefreshToken(TiendaOnlineContext _db, string email)
        {
            EmailConRefreshToken emailConToken = _db.EmailsConRefreshTokens.Where(e => e.Email == email.ToUpper()).FirstOrDefault();

            if (emailConToken != null)
            {
                return(emailConToken.RefreshToken);
            }

            return("");
        }
Esempio n. 12
0
        public static void EliminarComentarioRespuesta(TiendaOnlineContext _db, Comentario _comentario, int _idComentarioRespuesta)
        {
            ComentarioRespuesta comentarioRespuesta = _comentario.ComentariosRespuesta.Where(cr => cr.Id == _idComentarioRespuesta).FirstOrDefault();

            if (comentarioRespuesta == null)
            {
                return;
            }

            _db.ComentarioRespuesta.Remove(comentarioRespuesta);
            _db.SaveChanges();
        }
        public static void EliminarComentario(TiendaOnlineContext _db, Servicio _servicio, int _idComentario)
        {
            Comentario comentario = _servicio.Comentarios.Where(p => p.Id == _idComentario).FirstOrDefault();

            if (comentario == null)
            {
                return;
            }

            _db.Comentarios.Remove(comentario);
            _db.SaveChanges();
        }
Esempio n. 14
0
        }                                                         //DEBE SER UNA!!!!!!!!!!!!!

        public static Tienda CrearNuevaTienda(TiendaOnlineContext _db, Tienda _model)
        {
            Tienda tienda = new Tienda();

            tienda         = _model;
            tienda.Horario = new List <HorarioTienda>();

            _db.Tienda.Add(tienda);
            _db.SaveChanges();

            return(tienda);
        }
        public static Vehiculo CrearVehiculo(TiendaOnlineContext _db, string _marca, string _modelo, int _year)
        {
            Vehiculo vehiculo = new Vehiculo();

            vehiculo.Marca  = _marca;
            vehiculo.Modelo = _modelo;
            vehiculo.Year   = _year;

            _db.Vehiculos.Add(vehiculo);
            _db.SaveChanges();

            return(vehiculo);
        }
Esempio n. 16
0
        public static Boolean CrearCategoria(TiendaOnlineContext _db, Categoria _categoria)
        {
            //Categoria existe = _db.Categorias.Where(c => c.NombreCategoria == _categoria.NombreCategoria).FirstOrDefault();
            //if (existe != null)
            //{
            //    return false;
            //}

            _db.Categorias.Add(_categoria);
            _db.SaveChanges();

            return(true);
        }
Esempio n. 17
0
        public static Usuario EditarUsuario(TiendaOnlineContext _db, Usuario _model,
                                            int _tiendaId = 0, UsuarioTienda.RolEnTienda _rolTienda = UsuarioTienda.RolEnTienda.Admin) //opcionales)
        {
            if (_model.NombreUsuario != null)
            {
                _model.NombreUsuario = _model.NombreUsuario.ToUpper();
            }
            if (_model.Nombre != null)
            {
                _model.Nombre = _model.Nombre.ToUpper();
            }
            if (_model.Apellido != null)
            {
                _model.Apellido = _model.Apellido.ToUpper();
            }


            Usuario usuarioAEditar = _db.Usuarios.Find(_model.Id);

            usuarioAEditar.NombreUsuario  = _model.NombreUsuario;
            usuarioAEditar.Nombre         = _model.Nombre;
            usuarioAEditar.Apellido       = _model.Apellido;
            usuarioAEditar.Email          = _model.Email;
            usuarioAEditar.RolUsuario     = _model.RolUsuario;
            usuarioAEditar.NombreCompleto = _model.Nombre + " " + _model.Apellido;

            if (_tiendaId > 0)
            {
                UsuarioTienda existeAsoc = usuarioAEditar.UsuarioTiendas.Where(ut => ut.Tienda.Id == _tiendaId).FirstOrDefault();

                if (existeAsoc != null)
                {
                    existeAsoc.RolTienda = _rolTienda;
                }
                else
                {
                    Tienda        tienda = _db.Tienda.Where(t => t.Id == _tiendaId).FirstOrDefault();
                    UsuarioTienda ut     = new UsuarioTienda();
                    ut.RolTienda = _rolTienda;
                    ut.Tienda    = tienda;
                    ut.TiendaId  = tienda.Id;

                    _model.UsuarioTiendas.Add(ut);
                }
            }


            _db.SaveChanges();

            return(usuarioAEditar);
        }
Esempio n. 18
0
        public static Calendario ObtenerAgendasTienda(TiendaOnlineContext _db, int idTienda)
        {
            Tienda     tienda     = _db.Tienda.Where(t => t.Id == idTienda).FirstOrDefault();
            Calendario calendario = tienda.Calendarios.First();

            List <UsuarioTiendaMecanico> usuarioTiendaMecanico = tienda.UsuarioTiendaMecanicos.Where(m => m.Agendas.Count > 0).ToList();

            foreach (var usm in usuarioTiendaMecanico)
            {
                calendario.Agendas.Add(usm.Agendas.First());
            }

            return(calendario);
        }
        public static Cotizacion AsociarMecanicoACotizacion(TiendaOnlineContext _db, int idTienda, int idCotizacion, int idUsuarioMecanico)
        {
            Tienda tienda = _db.Tienda.Where(ut => ut.Id == idTienda).FirstOrDefault();

            Cotizacion            cotizacion            = tienda.Cotizaciones.Where(c => c.Id == idCotizacion).FirstOrDefault();
            UsuarioTiendaMecanico usuarioTiendaMecanico = tienda.UsuarioTiendaMecanicos.Where(ust => ust.UsuarioTienda.Usuario.Id == idUsuarioMecanico).FirstOrDefault();

            cotizacion.UsuarioTiendaMecanico = usuarioTiendaMecanico;
            usuarioTiendaMecanico.Cotizaciones.Add(cotizacion);

            _db.SaveChanges();

            return(cotizacion);
        }
        public static bool CrearProducto(Producto _producto, Tienda _tienda, TiendaOnlineContext _db)
        {
            Producto prod = _tienda.Productos.Where(p => p.Nombre == _producto.Nombre).FirstOrDefault();

            if (prod != null)
            {
                return(false);
            }

            _tienda.Productos.Add(_producto);
            _db.SaveChanges();

            return(true);
        }
Esempio n. 21
0
        public static void EliminarLogoRemitente(TiendaOnlineContext _db, LogoRemitente logoRemitente)
        {
            logoRemitente.Tienda       = null;
            logoRemitente.Cotizaciones = new List <Cotizacion>();

            try {
                File.Delete(logoRemitente.DireccionLogo);
            }
            catch {
                //carpeta no existe
            }

            _db.LogoRemitente.Remove(logoRemitente);
            _db.SaveChanges();
        }
        public static bool AumentarStock(int id, int cantidad, Tienda _tienda, TiendaOnlineContext _db)
        {
            Producto prod = _tienda.Productos.Where(p => p.Id == id).FirstOrDefault();

            if (prod == null)
            {
                return(false);
            }

            prod.Stock += cantidad;

            _db.SaveChanges();

            return(true);
        }
Esempio n. 23
0
        public static Usuario CrearNuevoUsuario(TiendaOnlineContext _db, Usuario _model,
                                                int _tiendaId = 0, UsuarioTienda.RolEnTienda _rolTienda = UsuarioTienda.RolEnTienda.Admin) //opcionales
        {
            if (_model.NombreUsuario != null)
            {
                _model.NombreUsuario = _model.NombreUsuario.ToUpper();
            }
            if (_model.Nombre != null)
            {
                _model.Nombre = _model.Nombre.ToUpper();
            }
            if (_model.Apellido != null)
            {
                _model.Apellido = _model.Apellido.ToUpper();
            }

            Usuario existe = _db.Usuarios.Where(u => u.NombreUsuario == _model.NombreUsuario).FirstOrDefault();

            if (existe != null)
            {
                return(null);
            }


            string pass = PasswordHash.CreateHash(_model.Password);

            _model.Password       = pass;
            _model.NombreCompleto = _model.Nombre + " " + _model.Apellido;

            if (_tiendaId > 0)
            {
                _model.UsuarioTiendas = new List <UsuarioTienda>();

                Tienda        tienda = _db.Tienda.Where(t => t.Id == _tiendaId).FirstOrDefault();
                UsuarioTienda ut     = new UsuarioTienda();
                ut.RolTienda = _rolTienda;
                ut.Tienda    = tienda;
                ut.TiendaId  = tienda.Id;

                _model.UsuarioTiendas.Add(ut);
            }

            _db.Usuarios.Add(_model);
            _db.SaveChanges();


            return(_model);
        }
Esempio n. 24
0
        public static Tuple <ComentarioRespuesta, Boolean> EditarComentarioRespuesta(TiendaOnlineContext _db, Comentario _comentario, int _idComentarioRespuesta, string _mensajeEdit)
        {
            ComentarioRespuesta comentarioRespuesta = _comentario.ComentariosRespuesta.Where(cr => cr.Id == _idComentarioRespuesta).FirstOrDefault();

            if (comentarioRespuesta == null)
            {
                return(new Tuple <ComentarioRespuesta, Boolean>(null, false));
            }

            comentarioRespuesta.Mensaje = _mensajeEdit;
            comentarioRespuesta.Fecha   = DateTime.Now;

            _db.SaveChanges();

            return(new Tuple <ComentarioRespuesta, Boolean>(comentarioRespuesta, true));
        }
        public static Tuple <Comentario, Boolean> EditarComentario(TiendaOnlineContext _db, Producto _producto, int _idComentario, string _mensajeEdit)
        {
            Comentario comentario = _producto.Comentarios.Where(p => p.Id == _idComentario).FirstOrDefault();

            if (comentario == null)
            {
                return(new Tuple <Comentario, Boolean>(null, false));
            }

            comentario.Mensaje = _mensajeEdit;
            comentario.Fecha   = DateTime.Now;

            _db.SaveChanges();

            return(new Tuple <Comentario, Boolean>(comentario, true));
        }
Esempio n. 26
0
        public static Categoria EliminarCategoria(TiendaOnlineContext _db, int id)
        {
            Categoria categoria = _db.Categorias.Find(id);

            foreach (Producto p in categoria.Productos)
            {
                p.Categoria   = null;
                p.CategoriaId = null;
            }

            _db.Categorias.Remove(categoria);

            _db.SaveChanges();

            return(categoria);
        }
        public static void EliminarComentario(TiendaOnlineContext _db, Producto _producto, int _idComentario)
        {
            Comentario comentario = _producto.Comentarios.Where(p => p.Id == _idComentario).FirstOrDefault();

            if (comentario == null)
            {
                return;
            }

            if (comentario.ComentariosRespuesta.Count > 0)
            {
                _db.ComentarioRespuesta.Remove(comentario.ComentariosRespuesta.First());
            }

            _db.Comentarios.Remove(comentario);
            _db.SaveChanges();
        }
Esempio n. 28
0
        public static Usuario EliminarUsuario(TiendaOnlineContext _db, int id)
        {
            Usuario usuario = _db.Usuarios.Find(id);

            List <UsuarioTienda> ustEliminar = new List <UsuarioTienda>();

            foreach (UsuarioTienda ut in usuario.UsuarioTiendas)
            {
                ut.Usuario = null;
                ut.Tienda  = null;
                ustEliminar.Add(ut);
            }
            _db.UsuariosTienda.RemoveRange(ustEliminar);

            List <Carrocompra> carrosEliminar = new List <Carrocompra>();

            foreach (Carrocompra carr in usuario.CarroCompra)
            {
                carr.Usuario = null;
                carrosEliminar.Add(carr);
            }
            _db.CarrosCompra.RemoveRange(carrosEliminar);

            List <Comentario> comentariosEliminar = new List <Comentario>();

            foreach (Comentario com in usuario.Comentarios)
            {
                com.Usuario = null;
                comentariosEliminar.Add(com);
            }
            _db.Comentarios.RemoveRange(comentariosEliminar);

            List <PuntuacionProducto> puntuacionesEliminar = new List <PuntuacionProducto>();

            foreach (PuntuacionProducto punt in usuario.Puntuaciones)
            {
                punt.Usuario = null;
                puntuacionesEliminar.Add(punt);
            }
            _db.PuntuacionesProducto.RemoveRange(puntuacionesEliminar);

            _db.Usuarios.Remove(usuario);
            _db.SaveChanges();

            return(usuario);
        }
        public static void CrearHorarioPorDia(TiendaOnlineContext _db, int tiendaId, int usuarioTiendaMecanicoId, DiaHorarioTrabajador diaHorarioTrabajador,
                                              string hEntrada, string hDescansoInicio, string hDescansoTermino, string hSalida, bool hDescanso)
        {
            Tienda        tienda        = _db.Tienda.Where(t => t.Id == tiendaId).FirstOrDefault();
            UsuarioTienda usuarioTienda = tienda.UsuariosTienda.Where(ut => ut.Id == usuarioTiendaMecanicoId).FirstOrDefault();

            HorarioTrabajador horarioTrabajadorDia = new HorarioTrabajador();

            horarioTrabajadorDia.Dia                 = diaHorarioTrabajador;
            horarioTrabajadorDia.HoraEntrada         = DateTime.ParseExact(hEntrada, "hh:mmtt", CultureInfo.InvariantCulture);
            horarioTrabajadorDia.HoraDescansoInicio  = DateTime.ParseExact(hDescansoInicio, "hh:mmtt", CultureInfo.InvariantCulture);
            horarioTrabajadorDia.HoraDescansoTermino = DateTime.ParseExact(hDescansoTermino, "hh:mmtt", CultureInfo.InvariantCulture);
            horarioTrabajadorDia.HoraSalida          = DateTime.ParseExact(hSalida, "hh:mmtt", CultureInfo.InvariantCulture);
            horarioTrabajadorDia.HorarioDescanso     = hDescanso;

            usuarioTienda.UsuariosTiendaMecanicos.First().Horario.Add(horarioTrabajadorDia);
            _db.SaveChanges();
        }
Esempio n. 30
0
        public static Boolean EditarCategoria(TiendaOnlineContext _db, Categoria _categoria)
        {
            //Categoria categoriaMismoNombre = _db.Categorias.Where(c => c.NombreCategoria == _categoria.NombreCategoria).FirstOrDefault();

            //if (categoriaMismoNombre != null)
            //{
            //    return false;
            //}

            Categoria categoriaOriginal = _db.Categorias.Find(_categoria.Id);

            categoriaOriginal.NombreCategoria = _categoria.NombreCategoria;
            categoriaOriginal.TipoCategoria   = _categoria.TipoCategoria;

            _db.SaveChanges();

            return(true);
        }