Exemple #1
0
 public void RegistrarPar(int numero, Calidad calidad, Empleado empleado, TimeSpan?hora = null)
 {
     if (numero > 0)
     {
         Par par = new Par(DateTime.Now, calidad, empleado, hora);
         Pares.Add(par);
     }
     if (numero < 0)
     {
         if (Pares.Count() > 0)
         {
             var par = Pares.ToList().LastOrDefault(p => p.Calidad.Equals(calidad));
             Pares.Remove(par);
         }
     }
 }
Exemple #2
0
        public bool RegistrarPar(int numero, Calidad calidad, Empleado empleado, TimeSpan?hora = null)
        {
            Horario horarioActual = Horarios.LastOrDefault();

            if (horarioActual.Turno.SoyTurnoActual())
            {
                horarioActual.RegistrarPar(numero, calidad, empleado, hora);
                return(true);
            }
            else
            {
                if ((int)horarioActual.Turno.HeFilalizadoHace().TotalMinutes < 10)
                {
                    horarioActual.RegistrarPar(numero, calidad, empleado, hora);
                    return(true);
                }
                return(false);
            }
        }
        public async Task <MemoryStream> GetAlbumCover(int idAlbum, Calidad calidad)
        {
            var channel = new Channel(Configuration.URIGrpcServer, ChannelCredentials.Insecure);
            var client  = new Portadas.PortadasClient(channel);
            var request =
                CreateSolicitudObtenerPortada(idAlbum, ApiServiceLogin.GetServiceLogin().GetAccessToken(), calidad);
            var          call  = client.ObtenerPortadaAlbum(request);
            MemoryStream cover = null;

            for (var i = 1; i <= TryNumbres; i++)
            {
                try
                {
                    cover = await GetCover(call);

                    break;
                }
                catch (RpcException ex)
                {
                    throw new RpcException(ex.Status, ex.Message);
                }
            }
Exemple #4
0
        public Par(DateTime now, Calidad calidad, Empleado empleado, TimeSpan?hora = null)
        {
            if (hora == null)
            {
                Hora = now;
            }
            else
            {
                Hora = now;
                if ((Hora.Date + hora) > now)
                {
                    Hora = ((DateTime)(Hora.Date + hora)).AddDays(-1);
                }
                else
                {
                    Hora = (DateTime)(Hora.Date + hora);
                }
            }
            Empleado = empleado;

            Calidad = calidad;
        }
        /// <summary>
        ///     Recupera la portada del album de la cancion que se va a reproducir y se lo coloca
        /// </summary>
        /// <param name="album">El album a colocar la imagen</param>
        /// <param name="calidad">La calidad de la iamgen a recuperar</param>
        /// <returns>Task</returns>
        private async Task ColocarImagenAlbum(Album album, Calidad calidad)
        {
            var clientePortadas = new CoversClient();

            try
            {
                MostrarElementosSinConexion();
                var bitmap = await clientePortadas.GetAlbumCover(album.id, calidad);

                if (bitmap != null)
                {
                    album.PortadaImagen = ImagenUtil.CrearBitmapDeMemory(bitmap);
                }
                else
                {
                    album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido");
                }
            }
            catch (Exception)
            {
                album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido");
                OcultarElementosSinConexion();
            }
        }
        private SolicitudObtenerPortada CreateSolicitudObtenerPortada(int idElement, string token, Calidad calidad)
        {
            var request = new SolicitudObtenerPortada();

            request.IdElementoDePortada      = idElement;
            request.CalidadPortadaARecuperar = calidad;
            request.TokenAutenticacion       = token;
            return(request);
        }
 protected Prenda(double precio, int cantidad, Calidad calidad)
 {
     Precio   = precio;
     Cantidad = cantidad;
     Calidad  = calidad;
 }
        /// <summary>
        ///     Solicita al servidor la cancion con el id cancion en la calidad indicada
        /// </summary>
        /// <param name="idGetSong">El id de la cancion a solicitar al servidor</param>
        /// <param name="calidad">La calidad de la cancion a solicitar</param>
        /// <param name="isPersonalGetSong">Indica si la cancion es personal o normal</param>
        public async void GetSong(int idGetSong, Calidad calidad, bool isPersonalGetSong)
        {
            _getSong = true;
            var          channel      = new Channel(Configuration.URIGrpcServer, ChannelCredentials.Insecure);
            var          client       = new Canciones.CancionesClient(channel);
            var          request      = new SolicitudObtenerCancion();
            var          memoryStream = new MemoryStream();
            var          position     = 0;
            FormatoAudio formatAudio;
            var          error = Error.Ninguno;

            for (var i = 1; i <= CounTrys; i++)
            {
                try
                {
                    request.IdCancion = idGetSong;
                    request.CalidadCancionARecuperar = calidad;
                    request.TokenAutenticacion       = ApiServiceLogin.GetServiceLogin().GetAccessToken();
                    var call = isPersonalGetSong
                        ? client.ObtenerCancionPersonal(request)
                        : client.ObtenerCancion(request);
                    using (call)
                    {
                        while (await call.ResponseStream.MoveNext() && _getSong)
                        {
                            var response = call.ResponseStream.Current;
                            memoryStream.Write(response.Data.ToByteArray(), 0, response.Data.Length);
                            position   += response.Data.Length;
                            formatAudio = response.FormatoCancion;
                            error       = response.Error;
                            if (position == ChunkSize)
                            {
                                OnInitialRecivedSong?.Invoke(response.Data.ToByteArray(),
                                                             ConvertFormatAudioToExtension(formatAudio));
                            }
                            else if (position > ChunkSize)
                            {
                                OnSongChunkRived?.Invoke(response.Data.ToByteArray());
                            }
                            if (!_getSong)
                            {
                                memoryStream.Dispose();
                            }
                        }
                    }
                }
                catch (RpcException)
                {
                    OnErrorRaised?.Invoke("No se pudo recuperar la canción, porfavor verifique su conexion a internet");
                    break;
                }

                if (error != Error.Ninguno)
                {
                    if (error == Error.TokenFaltante || error == Error.TokenInvalido)
                    {
                        await ApiServiceLogin.GetServiceLogin().ReLogin();
                    }
                    else
                    {
                        OnErrorRaised?.Invoke(ManageGetSongError(error));
                        break;
                    }
                }
                else
                {
                    OnTerminatedRecivedSong?.Invoke();
                    memoryStream.Dispose();
                    break;
                }
            }

            if (error == Error.TokenFaltante || error == Error.TokenInvalido)
            {
                OnErrorRaised?.Invoke("AuntenticacionFallida");
            }
        }
 public Camisa(double precio, int cantidad, Calidad calidad, bool isMangaC, bool isCuelloMao)
     : base(precio, cantidad, calidad)
 {
     this.IsCuelloMao  = isCuelloMao;
     this.IsMangaCorta = isMangaC;
 }
        private void btnCotizar(object sender, EventArgs e)
        {
            Calidad  calidad     = Calidad.STANDAR;
            Pantalon pantalon    = null;
            Camisa   camisa      = null;
            bool     ischupin    = checkChupin.Checked;
            bool     isMangaC    = checkMangaC.Checked;
            bool     iscuelloMao = checkCuello.Checked;
            //validaciones
            bool validarPrecio   = Utiles.ValidarCampo(txtPrecio.Text, "double");
            bool validarCantidad = Utiles.ValidarCampo(txtCantidad.Text, "int");

            if (!validarCantidad)
            {
                txtCantidad.BackColor = Color.Red;
            }
            else
            {
                txtCantidad.BackColor = Color.White;
            }

            if (!validarPrecio)
            {
                txtPrecio.BackColor = Color.Red;
            }
            else
            {
                txtPrecio.BackColor = Color.White;
            }

            if (!validarPrecio || !validarCantidad)
            {
                MessageBox.Show("Los datos ingresados no son válidos");
            }
            else if (!radioCamisa.Checked && !radioPantalon.Checked)
            {
                MessageBox.Show("Seleccione algun tipo de prenda");
            }
            else
            {
                //obtener precio
                double precio   = Convert.ToDouble(txtPrecio.Text);
                int    cantidad = Convert.ToInt32(txtCantidad.Text);
                double total    = precio * cantidad;

                //verificaciones
                if (radioCamisa.Checked)
                {
                    if (checkMangaC.Checked)
                    {
                        precio -= precio * 0.1;
                        total  -= total * 0.1;
                    }
                    if (checkCuello.Checked)
                    {
                        precio += precio * 0.03;
                        total  += total * 0.03;
                    }
                }
                else if (checkChupin.Checked)
                {
                    precio -= precio * 0.12;
                    total  -= total * 0.12;
                }

                if (radioPremium.Checked)
                {
                    precio += precio * 0.3;
                    total  += total * 0.3;
                    calidad = Calidad.PREMIUM;
                }
                if (cantidad > Convert.ToInt32(txtCantidad.Text))
                {
                    MessageBox.Show("La cantidad no puede superar el stock");
                }
                else
                {
                    lblTotal.Text = total.ToString();
                }

                Cotizacion cotizacion = new Cotizacion();
                cotizacion.Fecha          = DateTime.Now;
                cotizacion.Numero         = nroCotizacion++;
                cotizacion.Resultado      = total;
                cotizacion.CodigoVendedor = tienda.Vendedor != null ? tienda.Vendedor.Codigo : "";

                if (radioCamisa.Checked)
                {
                    camisa            = new Camisa(precio, cantidad, calidad, isMangaC, iscuelloMao);
                    cotizacion.Prenda = camisa;
                }
                else if (radioPantalon.Checked)
                {
                    pantalon          = new Pantalon(precio, cantidad, calidad, ischupin);
                    cotizacion.Prenda = pantalon;
                }

                cotizaciones.Add(cotizacion);
            }
        }
Exemple #11
0
 public Pantalon(double precio, int cantidad, Calidad calidad, bool isChupin)
     : base(precio, cantidad, calidad)
 {
     this.IsChupin = isChupin;
 }