예제 #1
0
 public PedidoModel()
 {
     ListaTipos = Utilidades.RetornarListaTiposPedido();
     ListaItens = new List <PedidoItemModel>();
     Cliente    = new ClienteModel();
     Entrega    = new PedidoEntregaModel();
 }
예제 #2
0
        /// <summary>
        /// Converte um pedido de DTO para Model
        /// </summary>
        /// <param name="pedidoDto"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        public bool ConverterDtoParaModel(PedidoDto pedidoDto, ref string mensagemErro)
        {
            try
            {
                Obs = string.IsNullOrWhiteSpace(pedidoDto.Obs) ? "" : pedidoDto.Obs.Trim();
                JustificativaCancelamento = string.IsNullOrWhiteSpace(pedidoDto.JustificativaCancelamento) ? "" : pedidoDto.JustificativaCancelamento.Trim().Replace("-", "");
                NomeCliente      = string.IsNullOrWhiteSpace(pedidoDto.NomeCliente) ? "" : pedidoDto.NomeCliente.Trim().Replace("-", "");
                Tipo             = pedidoDto.Tipo;
                Total            = pedidoDto.Total;
                Troco            = pedidoDto.Troco;
                TaxaEntrega      = pedidoDto.TaxaEntrega;
                RecebidoDinheiro = pedidoDto.RecebidoDinheiro;
                RecebidoCredito  = pedidoDto.RecebidoCredito;
                RecebidoDebito   = pedidoDto.RecebidoDebito;
                IdCliente        = pedidoDto.IdCliente;
                PedidoIfood      = pedidoDto.PedidoIfood;
                DataAlteracao    = pedidoDto.DataAlteracao;
                DataInclusao     = pedidoDto.DataInclusao;
                Id      = pedidoDto.Id;
                Inativo = pedidoDto.Inativo;

                // Converter os itens
                foreach (var item in pedidoDto.ListaItens)
                {
                    if (item.Quantidade > 0) // Adicionar apenas se houver quantidade preenchida
                    {
                        PedidoItemModel itemModel = new PedidoItemModel();
                        if (!itemModel.ConverterDtoParaModel(item, ref mensagemErro))
                        {
                            return(false);
                        }

                        ListaItens.Add(itemModel);
                    }
                }

                // Converter cliente
                if (pedidoDto.Cliente != null)
                {
                    ClienteModel clienteModel = new ClienteModel();
                    if (!clienteModel.ConverterDtoParaModel(pedidoDto.Cliente, ref mensagemErro))
                    {
                        return(false);
                    }

                    Cliente = clienteModel;
                }

                // Converter endereço
                if (pedidoDto.Entrega != null)
                {
                    PedidoEntregaModel pedidoEntregaModel = new PedidoEntregaModel();
                    if (!pedidoEntregaModel.ConverterDtoParaModel(pedidoDto.Entrega, ref mensagemErro))
                    {
                        return(false);
                    }

                    Entrega = pedidoEntregaModel;
                }

                return(true);
            }
            catch (Exception ex)
            {
                mensagemErro = ex.Message;
                return(false);
            }
        }