示例#1
0
        /// <summary>
        /// Lee una cadena de caracteres de un archivo de texto
        /// </summary>
        /// <param name="nombreArchivo"></param>
        /// <param name="datos"></param>
        /// <returns></returns>
        public Fabrica LeerTexto()
        {
            string                   ruta      = Directory.GetCurrentDirectory() + @"\Computadoras.txt";
            List <string>            productos = new List <string>();
            Fabrica                  fabrica   = GetFabrica(this.AlmacenDeProductos);
            ArchivosTexto <Producto> texto     = new ArchivosTexto <Producto>();

            texto.Leer(ruta, out productos);
            foreach (string producto in productos.ToArray())
            {
                string[] campos = producto.Split(',');
                if (campos[0] == "Computadora")
                {
                    Computadora.TipoComputadora   tipo;
                    Computadora.ESistemaOperativo eSistema;
                    bool pasoControlCalidad;
                    if (campos[5] == "Escritorio")
                    {
                        tipo = Computadora.TipoComputadora.Escritorio;
                    }
                    else
                    {
                        tipo = Computadora.TipoComputadora.Notebook;
                    }
                    if (campos[4] == "Pasó control de calidad")
                    {
                        pasoControlCalidad = true;
                    }
                    else
                    {
                        pasoControlCalidad = false;
                    }
                    switch (campos[6])
                    {
                    case "Windows":
                        eSistema = Computadora.ESistemaOperativo.Windows;
                        break;

                    case "OSX":
                        eSistema = Computadora.ESistemaOperativo.OSX;
                        break;

                    case "Linux":
                        eSistema = Computadora.ESistemaOperativo.Linux;
                        break;

                    default:
                        eSistema = Computadora.ESistemaOperativo.SinSistemaOperativo;
                        break;
                    }
                    double precio = double.Parse(campos[3].Remove(0, 1), CultureInfo.InvariantCulture);
                    //Para que tome el punto como una coma
                    Computadora computadora = new Computadora(int.Parse(campos[1]), campos[2], precio,
                                                              tipo, eSistema, pasoControlCalidad);
                    fabrica.Productos.Add(computadora);
                }
            }
            return(fabrica);
        }
示例#2
0
        /// <summary>
        /// crea el ticket de la venta
        /// </summary>
        /// <param name="c">Computadora</param>
        /// <returns> Devuelve un ticket en formato de string</returns>
        public string hacerTicket(Computadora c)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine(DateTime.Now.ToString());
            sb.AppendLine(c.ToString());

            return(sb.ToString());
        }
示例#3
0
 public Usuario(Legajo legajo, string nombre, string apellido, Rol rol, Jerarquia categoria,
                Computadora computadora) : base(legajo)
 {
     Nombre      = nombre;
     Apellido    = apellido;
     Rol         = rol;
     Categoria   = categoria;
     Computadora = computadora;
     Password    = "";
 }
示例#4
0
        /// <summary>
        /// Lee una cadena de caracteres de un archivo de texto
        /// </summary>
        /// <param name="nombreArchivo"></param>
        /// <param name="datos"></param>
        /// <returns></returns>
        public Fabrica LeerTexto()
        {
            string                   ruta      = Directory.GetCurrentDirectory() + @"\Computadoras.txt";
            List <string>            productos = new List <string>();
            Fabrica                  fabrica   = GetFabrica(this.AlmacenDeProductos);
            ArchivosTexto <Producto> texto     = new ArchivosTexto <Producto>();

            texto.Leer(ruta, out productos);
            foreach (string producto in productos.ToArray())
            {
                string[] campos = producto.Split(',');
                if (campos[0] == "Computadora")
                {
                    Computadora.TipoComputadora   tipo;
                    Computadora.ESistemaOperativo eSistema;
                    if (campos[5] == "0")
                    {
                        tipo = Computadora.TipoComputadora.Escritorio;
                    }
                    else
                    {
                        tipo = Computadora.TipoComputadora.Notebook;
                    }
                    switch (campos[6])
                    {
                    case "0":
                        eSistema = Computadora.ESistemaOperativo.Windows;
                        break;

                    case "1":
                        eSistema = Computadora.ESistemaOperativo.OSX;
                        break;

                    case "2":
                        eSistema = Computadora.ESistemaOperativo.Linux;
                        break;

                    default:
                        eSistema = Computadora.ESistemaOperativo.SinSistemaOperativo;
                        break;
                    }
                    Computadora computadora = new Computadora(int.Parse(campos[1]), campos[2], double.Parse(campos[3]),
                                                              tipo, eSistema, bool.Parse(campos[4]));
                    fabrica.Productos.Add(computadora);
                }
            }
            return(fabrica);
        }
示例#5
0
        /// <summary>
        /// si el comercio contiene a esa computadora la eliminará e imprimira el tiquet de venta
        /// Proyecto Entidades - Clase comercio – Vender - (SinStockException)
        /// </summary>
        /// <param name="co">Comercio</param>
        /// <param name="ca">Computadora</param>
        /// <returns> Devuelve el true si se pudo vender y false si no</returns>
        public static bool Vender(Comercio co, Computadora ca)
        {
            bool ret = false;

            try
            {
                co -= ca;
                Tickets       tickets = new Tickets();
                StringBuilder sb      = new StringBuilder();
                sb.AppendLine("\nVENTA");
                sb.AppendLine("*********************************");
                sb.Append(tickets.hacerTicket(ca));
                sb.AppendLine("*********************************");
                Console.WriteLine(sb.ToString());

                ret = true;
            }
            catch (ComercioSinComputadora)
            {
                throw new SinStockException();
            }
            return(ret);
        }
示例#6
0
        public List <Producto> LeerSQL()
        {
            //string connectionString = "Server=.;Database=Corsaro.Cristian.TPFinal;Trusted_Connection=True";
            //StringBuilder log = new StringBuilder();
            List <Producto> p = new List <Producto>();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                string     command    = "SELECT * FROM dbo.productos";
                SqlCommand sqlCommand = new SqlCommand(command, sqlConnection);
                sqlConnection.Open();
                //sqlCommand.Parameters.Contains("tipo")
                SqlDataReader reader = sqlCommand.ExecuteReader();
                while (reader.Read())
                {
                    //if(!ReferenceEquals(reader,null))
                    if (reader.GetSqlInt32(7) == 1)
                    {
                        bool calidad;
                        if (reader.GetInt32(3) == 0)
                        {
                            calidad = false;
                        }
                        else
                        {
                            calidad = true;
                        }
                        Celular.SistemaOperativo sistemaOperativo;
                        if (reader.GetInt32(6) == 0)
                        {
                            sistemaOperativo = Celular.SistemaOperativo.Android;
                        }
                        else
                        {
                            sistemaOperativo = Celular.SistemaOperativo.IOS;
                        }
                        Celular c = new Celular(reader.GetInt32(0), reader.GetString(1), reader.GetDouble(2),
                                                sistemaOperativo, calidad);
                        p.Add(c);
                    }
                    else
                    {
                        bool calidad;
                        if (reader.GetInt32(3) == 0)
                        {
                            calidad = false;
                        }
                        else
                        {
                            calidad = true;
                        }
                        Computadora.TipoComputadora tipo;
                        if (reader.GetInt32(4) == 0)
                        {
                            tipo = Computadora.TipoComputadora.Escritorio;
                        }
                        else
                        {
                            tipo = Computadora.TipoComputadora.Notebook;
                        }
                        Computadora.ESistemaOperativo eSistema;
                        if (reader.GetInt32(5) == 0)
                        {
                            eSistema = Computadora.ESistemaOperativo.Windows;
                        }
                        else if (reader.GetInt32(5) == 1)
                        {
                            eSistema = Computadora.ESistemaOperativo.OSX;
                        }
                        else if (reader.GetInt32(5) == 2)
                        {
                            eSistema = Computadora.ESistemaOperativo.Linux;
                        }
                        else
                        {
                            eSistema = Computadora.ESistemaOperativo.SinSistemaOperativo;
                        }

                        Computadora c = new Computadora(reader.GetInt32(0), reader.GetString(1), reader.GetDouble(2),
                                                        tipo, eSistema, calidad);
                        p.Add(c);
                    }
                }
            }
            return(p);
        }