public static Servicio SubirImagenesServicio(List <HttpPostedFileBase> files, TiendaOnlineContext _db, Servicio _servicio)
        {
            Servicio servicio = _db.Servicios.Where(e => e.Nombre == _servicio.Nombre).FirstOrDefault();

            foreach (HttpPostedFileBase file in files)
            {
                Imagen nuevaImagen = new Imagen();
                string filename    = Path.GetRandomFileName() + Path.GetExtension(file.FileName);
                string path        = GuardarImagenEnTienda(_servicio.Tienda, "Servicios", filename, file);

                if (path != "existe")
                {
                    nuevaImagen.DireccionImagen = path;
                    nuevaImagen.DimensionImagen = ImagenSize.Regular;
                    nuevaImagen.TipoImagen      = ImagenTipo.Servicio;
                    nuevaImagen.Servicio        = servicio;
                    nuevaImagen.NombreImagen    = filename;

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



            return(servicio);
        }
        }                                             //DEBE SER UNA!!!!!!!!!!

        public static Cotizacion CrearCotizacion(TiendaOnlineContext _db, Cotizacion _cotizacion, int _usuarioTiendaId, int _tiendaId, List <ServicioTemporal> servicios)
        {
            Usuario usuario       = _db.Usuarios.Where(u => u.Id == _cotizacion.UsuarioId).FirstOrDefault();
            Usuario usuarioTienda = _db.Usuarios.Where(u => u.Id == _usuarioTiendaId).FirstOrDefault();
            Tienda  tienda        = _db.Tienda.Where(u => u.Id == _tiendaId).FirstOrDefault();

            _cotizacion.ServiciosCotizados = new List <ServicioCotizado>();

            float subTotalNeto = 0;
            float descuento    = 0;
            float iva          = 0;
            float valorTotal   = 0;

            //------ ASOCIAR SERVICIOS
            SolicitudCotizacion solicitudCotizacion = _db.SolicitudCotizacion.Where(s => s.Id == _cotizacion.SolicitudCotizacionId).FirstOrDefault();

            _cotizacion.SolicitudCotizacion = solicitudCotizacion;

            foreach (ServicioTemporal servicioTemporal in servicios)
            {
                ServicioCotizado servicioCotizado = new ServicioCotizado();

                //Compueba si es un Servicio creado en la Cotización
                //Si es falso, se asocia a un Servicio en la Base de Datos
                if (!servicioTemporal.EsManual)
                {
                    Servicio servicioEncontrado = tienda.Servicios.Where(ssc => ssc.Id == servicioTemporal.Id).FirstOrDefault();
                    if (servicioEncontrado != null)
                    {
                        servicioCotizado.Servicio = servicioEncontrado;

                        if (servicioEncontrado.Categoria != null)
                        {
                            servicioCotizado.Categoria = servicioEncontrado.Categoria;
                        }
                    }
                }

                if (servicioCotizado.Categoria == null)
                {
                    Categoria categoria = _db.Categorias.Where(c => c.Id == servicioTemporal.CategoriaId).FirstOrDefault();
                    servicioCotizado.Categoria = categoria;
                }

                servicioCotizado.Nombre     = servicioTemporal.Nombre;
                servicioCotizado.Valor      = servicioTemporal.Valor;
                servicioCotizado.Cantidad   = servicioTemporal.Cantidad;
                servicioCotizado.ValorTotal = servicioTemporal.Valor * servicioTemporal.Cantidad;
                servicioCotizado.EsManual   = servicioTemporal.EsManual;

                //SUBTOTAL NETO
                subTotalNeto += servicioCotizado.ValorTotal;

                _cotizacion.ServiciosCotizados.Add(servicioCotizado);
            }

            valorTotal = subTotalNeto + (subTotalNeto * 19 / 100);
            iva        = valorTotal - subTotalNeto;

            _cotizacion.SubTotalNeto = subTotalNeto;
            _cotizacion.Descuento    = descuento;
            _cotizacion.TotalNeto    = subTotalNeto - descuento;
            _cotizacion.IVA          = iva;
            _cotizacion.TotalAPagar  = valorTotal;

            //ASOCIAR VEHÍCULO
            _cotizacion.Vehiculos = new List <Vehiculo>();
            Vehiculo vehiculo = new Vehiculo();

            vehiculo.Marca  = solicitudCotizacion.Vehiculos.First().Marca;
            vehiculo.Modelo = solicitudCotizacion.Vehiculos.First().Modelo;
            vehiculo.Year   = solicitudCotizacion.Vehiculos.First().Year;
            _cotizacion.Vehiculos.Add(vehiculo);

            //ASOCIAR LOGO
            LogoRemitente logoRemitente = tienda.LogosRemitente.Where(l => l.Id == _cotizacion.LogoId).FirstOrDefault();

            _cotizacion.LogoRemitente = logoRemitente;

            _cotizacion.Usuario           = usuario;
            _cotizacion.Tienda            = tienda;
            _cotizacion.Fecha             = DateTime.Now;
            _cotizacion.UsuarioQueAtendio = usuarioTienda.UsuarioTiendas.First();

            if (usuario.Cotizaciones == null)
            {
                usuario.Cotizaciones = new List <Cotizacion>();
            }

            _db.Cotizacions.Add(_cotizacion);

            try
            {
                _db.SaveChanges();
            }
            catch (Exception ex)
            {
                string e = ex.Message;
            }

            return(_cotizacion);
        }
        public static Tuple <Comentario, Boolean> EditarComentario(TiendaOnlineContext _db, Servicio _servicio, int _idComentario, string _mensajeEdit)
        {
            Comentario comentario = _servicio.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));;
        }