public void DeveCriarNovaCompra()
 {
     var compra = new Compra();
     var nome = compra.Nome;
     var result = compra.Nome;
     Assert.AreEqual(nome, result);
     Assert.IsNotNull(compra);//Conferindo se o valor não é null.
 }
 public void Alterar(Compra compra)
 {
     Compra compraSalvar = banco.Compras.Where(x => x.Id == compra.Id).First();
     compraSalvar.Nome = compra.Nome;
     compraSalvar.Quantidade = compra.Quantidade;
     compraSalvar.DataCompra = compra.DataCompra;
     banco.SaveChanges();
 }
 /// <summary>
 /// Metodo para adicionar compras
 /// </summary>
 /// <param name="compra"></param>
 public void Adicionar(Compra compra)
 {
     if (IsValidacao(compra))
     {
         db.Compras.Add(compra);
         db.SaveChanges();
     }
 }
 /// <summary>
 /// Metodo para Editar a compra
 /// </summary>
 /// <param name="compra"></param>
 public void Editar(Compra compra)
 {
     var objCompra = db.Compras.Find(compra.Id);
     objCompra.Nome = compra.Nome;
     objCompra.DataCompra = compra.DataCompra;
     objCompra.Quantidade = compra.Quantidade;
     objCompra.Loja = compra.Loja;
     db.SaveChanges();
 }
        static void Main(string[] args)
        {
            
            CompraAplicacao appCompra = new CompraAplicacao();
            Loja loja = new Loja();
            Compra compra = new Compra();
            var db = new Contexto();

            //compra.Nome = "Compra 01";
            //compra.DataCompra = DateTime.Now;
            //compra.Quantidade = 15;
            //db.Compras.Add(compra);

            compra.Nome = "Compra 02";
            compra.DataCompra = DateTime.Now;
            compra.Quantidade = 60;
            compra.Loja = db.Lojas.FirstOrDefault(x => x.Id == 1); // Para referenciar id_loja na tabela compra.
            db.Compras.Add(compra);


            //var compras = db.Compras.FirstOrDefault(x => x.Id == 2); Update
            //compras.Nome = "Compra01";

            //var comprasDelete = db.Compras.FirstOrDefault(x => x.Id == 8);
            //db.Compras.Remove(comprasDelete);

            //var compras = db.Compras.FirstOrDefault(x => x.Id == 2);
            //compras.Quantidade = 100;

            //var comprasDeletadas = db.Compras.FirstOrDefault(x => x.Id == 5);
            //db.Compras.Remove(comprasDeletadas);
            //Loja lojas = new Loja();
            //lojas.Nome = "Big";
            //db.Lojas.Add(lojas);
          
            
            
            //var loja = db.Lojas.FirstOrDefault(x => x.Id == 1);
            //db.Lojas.Remove(loja);

            //var compras = (from x in db.Compras
            //              where x.Id == 2
            //              select x).First();

            db.SaveChanges();
            Console.ReadKey();
            //hweuyfoaio
        }
        /// <summary>
        /// Metodo de Validação do Campos obrigatorios.
        /// </summary>
        /// <param name="compra"></param>
        /// <returns></returns>
        public bool IsValidacao(Compra domain)
        {
            if (!String.IsNullOrEmpty(domain.Nome))
            {
                return true;
            }

            if (domain.DataCompra <= DateTime.Now)
            {
                return true;
            }

            if (domain.Quantidade > 0)
            {
                return true;
            }


            return false;
        }
 public void Salvar(Compra compra)
 {
     banco.Compras.Add(compra);
     banco.SaveChanges();
 }
        public ActionResult ValidaNomeCompra(string nome)
        {
            var compra = new Compra();
            var filtraNome = nome.Trim();
            if (!String.IsNullOrEmpty(filtraNome))
            {
                compra = db.Compras.FirstOrDefault(x => x.Nome == filtraNome);
                if (compra!= null && compra.Id > 0)
                {
                    return Json(new { compra.Nome }, JsonRequestBehavior.AllowGet);
                }
            }

            return Json(new { Id = 1 }, JsonRequestBehavior.AllowGet);
        }
 /// <summary>
 /// Lista de Produtos Comprados na determinada Compra.
 /// </summary>
 /// <returns>Todos os produtos cadastrados na compra</returns>
 public ActionResult ListaDeCompra(Compra compra)
 {
     var lista = db.Produtos.Where(x => x.CompraId == compra.Id).Include(x => x.Compra).ToList();
     return View(lista);
 }