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));; }