public bool ReadByIdPedido()
        {
            try
            {
                List <Subasta> subastas = new List <Subasta>();
                subastas = this.ReadAll();
                var subasta = subastas.Where(s => s.Pedido.IdPedido == this.Pedido.IdPedido).FirstOrDefault();
                if (subasta != null)
                {
                    this.IdSubasta      = subasta.IdSubasta;
                    this.FechaInicio    = subasta.FechaInicio;
                    this.FechaTermino   = subasta.FechaTermino;
                    this.EstadoSubasta  = subasta.EstadoSubasta;
                    this.OfertasSubasta = OfertaSubasta.ReadByIdSubasta(this.IdSubasta);
                    this.Pedido         = subasta.Pedido;

                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(false);
            }
        }
        /// <summary>
        /// Metodo que entrega un listado con todas las subastas registradas
        /// </summary>
        /// <returns></returns>
        public List <Subasta> ReadAll()
        {
            List <Subasta> list = new List <Subasta>();

            try
            {
                using (var db = new DBEntities())
                {
                    var listadoSubastas = db.SUBASTA.ToList();
                    if (listadoSubastas.Count() > 0)
                    {
                        foreach (var s in listadoSubastas)
                        {
                            Subasta subasta = new Subasta();
                            subasta.IdSubasta    = (int)s.IDSUBASTA;
                            subasta.FechaInicio  = s.FECHAINICIO;
                            subasta.FechaTermino = s.FECHATERMINO;

                            //Obtener Estado subasta
                            EstadoSubasta estado = new EstadoSubasta();
                            estado.IdEstadoSubasta = (int)s.IDESTADOSUBASTA;
                            estado.Read();
                            subasta.EstadoSubasta = estado;

                            //Obtener el pedido asociada a la subasta
                            Pedido pedido = new Pedido();
                            pedido.IdPedido = (int)s.IDPEDIDO;
                            pedido.Read();
                            subasta.Pedido         = pedido;
                            subasta.OfertasSubasta = OfertaSubasta.ReadByIdSubasta(this.IdSubasta);
                            list.Add(subasta);
                        }
                    }

                    return(list);
                }
            }catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(new List <Subasta>());
            }
        }
        /// <summary>
        /// Obtener la subasta de acuerdo a la id asignada a la instancia
        /// </summary>
        /// <returns></returns>
        public bool Read()
        {
            try
            {
                using (var db = new DBEntities())
                {
                    SUBASTA subasta = db.SUBASTA.Where(sb => sb.IDSUBASTA == this.IdSubasta).FirstOrDefault();
                    if (subasta != null)
                    {
                        this.FechaInicio  = subasta.FECHAINICIO;
                        this.FechaTermino = subasta.FECHATERMINO;

                        //Obtener Estado subasta
                        EstadoSubasta estado = new EstadoSubasta();
                        estado.IdEstadoSubasta = (int)subasta.IDESTADOSUBASTA;
                        estado.Read();
                        this.EstadoSubasta = estado;

                        //Obtener el pedido asociada a la subasta
                        Pedido pedido = new Pedido();
                        pedido.IdPedido = (int)subasta.IDPEDIDO;
                        pedido.Read();
                        this.Pedido         = pedido;
                        this.OfertasSubasta = OfertaSubasta.ReadByIdSubasta(this.IdSubasta);

                        return(true);
                    }

                    return(false);
                }
            }catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(false);
            }
        }