Array
(
)

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

Alysson Pinheiro
|
MVP
Pontos: 300
    29 set 2016

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á.
#Código

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; }
        }
    }