public static bool EliminarSolicitud(TiendaOnlineContext _db, int _id) { SolicitudCotizacion solicitudCotizacion = _db.SolicitudCotizacion.Where(s => s.Id == _id).FirstOrDefault(); if (solicitudCotizacion == null) { return(false); } solicitudCotizacion.Usuario = null; solicitudCotizacion.Tienda = null; foreach (ServicioSolicitadoCotizacion ssc in solicitudCotizacion.ServiciosSolicitadosCotizacion) { ssc.Servicio = null; } _db.ServiciosSolicitadosCotizacion.RemoveRange(solicitudCotizacion.ServiciosSolicitadosCotizacion); _db.SolicitudCotizacion.Remove(solicitudCotizacion); _db.SaveChanges(); return(true); }
public static bool CrearSolicitud(TiendaOnlineContext _db, List <Servicio> _servicios, Usuario _usuario, int idTienda, Vehiculo _vehiculo, string _comentario) { Tienda tienda = _db.Tienda.Where(u => u.Id == idTienda).FirstOrDefault(); SolicitudCotizacion solicitudCotizacion = new SolicitudCotizacion(); solicitudCotizacion.ServiciosSolicitadosCotizacion = new List <ServicioSolicitadoCotizacion>(); //AGREGAR SERVICIOS A SOLICITUD foreach (Servicio servicio in _servicios) { ServicioSolicitadoCotizacion servicioSolicitado = new ServicioSolicitadoCotizacion(); servicioSolicitado.Servicio = servicio; servicioSolicitado.Valor = servicio.Precio; servicioSolicitado.ValorTotal = servicio.Precio; solicitudCotizacion.ServiciosSolicitadosCotizacion.Add(servicioSolicitado); } //FECHA, TIENDA Y USUARIO Y COMENTARIO solicitudCotizacion.Fecha = DateTime.Now; solicitudCotizacion.Tienda = tienda; solicitudCotizacion.TiendaId = tienda.Id; solicitudCotizacion.Usuario = _usuario; solicitudCotizacion.UsuarioId = _usuario.Id; solicitudCotizacion.ComentarioCliente = _comentario; //ASOCIAR VEHÍCULO CON SOLICITUD solicitudCotizacion.Vehiculos = new List <Vehiculo>(); solicitudCotizacion.Vehiculos.Add(_vehiculo); tienda.SolicitudCotizaciones.Add(solicitudCotizacion); _db.SaveChanges(); return(true); }
} //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); }