Esempio n. 1
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. 2
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();
        }
        }                                             //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);
        }