コード例 #1
0
        public void Post([FromBody] PedidoCreateRequestModel value) // RequestModel
        {
            Pedido pedido = new Pedido();

            pedido.Sabor     = _saborRepository.Find(value.Sabor);
            pedido.SaborId   = pedido.Sabor.Id;
            pedido.Tamanho   = _tamanhoRepository.Find(value.Tamanho);
            pedido.TamanhoId = pedido.Tamanho.Id;

            List <Personalizacao> personalizacoes = _personalizacaoRepository.GetPersonalizacoesPelosIds(value.Personalizacoes).ToList();

            if (personalizacoes != null && personalizacoes.Count > 0)
            {
                foreach (Personalizacao item in personalizacoes)
                {
                    PedidoPersonalizacao pedidoPersonalizacao = new PedidoPersonalizacao();
                    pedidoPersonalizacao.Personalizacao = new Personalizacao()
                    {
                        Id             = item.Id,
                        Description    = item.Description,
                        TempoAdicional = item.TempoAdicional,
                        ValorAdicional = item.ValorAdicional
                    };
                    pedidoPersonalizacao.Pedido = pedido;
                    pedidoPersonalizacao.Personalizacao.Pedidos.Add(pedidoPersonalizacao);
                    pedidoPersonalizacao.Pedido.Personalizacoes.Add(pedidoPersonalizacao);
                    _pedidoPersonalizacaoRepository.Add(pedidoPersonalizacao);
                    pedido.Personalizacoes.Add(pedidoPersonalizacao);
                }
            }
            pedido.TempoPreparo = GetTempoPreparo(pedido, personalizacoes);
            pedido.ValorTotal   = GetValorTotal(pedido, personalizacoes);
            _pedidoRepository.Add(pedido); // Insertion
        }