コード例 #1
0
        public int CadastrarPedido(Pedido pedido)
        {
            var tamanho = _repoTamanho.GetTamanho(pedido.IdTamanho);

            if (tamanho == null)
            {
                throw new Exception("Tamanho não cadastrado");
            }

            var sabor = _repoSabor.GetSabor(pedido.IdSabor);

            if (sabor == null)
            {
                throw new Exception("Sabor não cadastrado");
            }

            pedido.TempoTotalPreparo = sabor.TempoPreparo + tamanho.TempoPreparo;
            pedido.ValorTotal        = tamanho.Valor;

            if (pedido.Personalizacao.Count() > 0)
            {
                var personalizacoes = _repoPersonalizacao.GetPersonalizacao(pedido.Personalizacao);
                if (personalizacoes == null)
                {
                    throw new Exception("Personalização não cadastrada");
                }

                pedido.TempoTotalPreparo += personalizacoes.Sum(x => x.TempoPreparo);
                pedido.ValorTotal        += personalizacoes.Sum(x => x.Preco);
            }

            return(_repoPedido.CadastrarPedido(pedido));
        }