Como salvar dados em duas tabelas ao mesmo tempo Asp.Net MVC

29/09/2016

0

Olá, gostaria de uma ajuda. Eu to usando o exemplo do "Curso de ASP.NET MVC - Criando uma Loja Virtual", aonde eu tenho a classe Carrinho. Tenho também 3 classes Locação, Item e Caçamba, aonde a minha classe Item de os IDs do Item e da Locação e um atributo Quantidade. Minha duvida é, como eu consigo gravar no banco a locação e os Itens ao mesmo tempo utilizando a classe carrinho. Obrigado desde já.
public class Carrinho
    {
        protected readonly List<Item> _ItemCarrinho = new List<Item>();

        //Adicionar
        public void AdicionarItem(Cacamba cacamba, int quantidade)
        {
            Item item = _ItemCarrinho.FirstOrDefault(c => c.Cacamba.CacambaId == cacamba.CacambaId);

            if (item == null)
            {
                _ItemCarrinho.Add(new Item
                {
                    Cacamba = cacamba,
                    CacambaId = cacamba.CacambaId,
                    Quantidade = quantidade
                });

            }
            else
            {
                throw new Exception("Está caçamba já foi adicionada.");
                //item.Quantidade += quantidade;
            }
        }

        //Remover Item
        public void RemoverItem(Cacamba cacamba)
        {
            _ItemCarrinho.RemoveAll(l => l.Cacamba.CacambaId == cacamba.CacambaId);
        }

        //Obter o valor total
        public decimal ObterValorTotal()
        {
            return _ItemCarrinho.Sum(e => e.Cacamba.Preco * e.Quantidade);
        }

        //Limpar Carrinho
        public void LimparCarrinho()
        {
            _ItemCarrinho.Clear();
        }

        //Itens carrinho
        public IEnumerable<Item> ItensCarrinho
        {
            get { return _ItemCarrinho; }
        }
    }
Alysson Pinheiro

Alysson Pinheiro

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar