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