Exemple #1
0
 public void CheckContext()
 {
     if (Contexto == null)
     {
         Contexto = new dabbawalaContext();
     }
 }
Exemple #2
0
 public DALControl()
 {
     if (Contexto == null || Contexto.Database.CurrentTransaction == null)
     {
         this.Contexto = new dabbawalaContext();
     }
 }
Exemple #3
0
        public void RemoverSolicitacaoTransporte(long _idSolicitacao)
        {
            using (var dbs = new dabbawalaContext())
            {
                SolicitacaoTransporte   solicitacao = dbs.SolicitacaoTransporte.Find(_idSolicitacao);
                List <ItensSolicitacao> items       = dbs.ItensSolicitacao.Where(i => i.IdSolicitacao == solicitacao.IdSolicitacao).ToList();

                List <Expedicao> expedicoes = dbs.Expedicao.Where(e => e.IdSolicitacao == solicitacao.IdSolicitacao).ToList();

                using (var trans = dbs.Database.BeginTransaction())
                {
                    //solicitacao.ItensSolicitacao = null;
                    dbs.RemoveRange(items);
                    dbs.RemoveRange(expedicoes);
                    dbs.Remove(solicitacao);
                    dbs.SaveChanges();
                    trans.Commit();
                }
            }
        }
        public Expedicao CriarNovaExpedicao(long _idSolicitacao)
        {
            using (var dbs = new dabbawalaContext())
            {
                //  Busca a solicitação
                SolicitacaoTransporte solicitacao = new SolicitacaoTransporteDAL().Obter(_idSolicitacao);
                if (solicitacao == null)
                {
                    throw new Exception("Não foi encontrado solicitação de transporte com ID [" + _idSolicitacao.ToString() + "]");
                }

                using (var trans = dbs.Database.BeginTransaction())
                {
                    // Gera uma data de previsão (aleatória)
                    DateTime dataPrevisao = DateTime.Now;
                    Random   random       = new Random();
                    dataPrevisao = dataPrevisao.AddDays(random.Next(0, 3));
                    dataPrevisao = dataPrevisao.AddHours(random.Next(1, 23));
                    dataPrevisao = dataPrevisao.AddMinutes(random.Next(1, 59));
                    dataPrevisao = dataPrevisao.AddSeconds(random.Next(1, 59));

                    // Cria a nova expedição
                    var expedicao = new Expedicao
                    {
                        IdSolicitacao   = solicitacao.IdSolicitacao,
                        PrevisaoEntrega = dataPrevisao,
                        Status          = "1"
                    };

                    // Salva e commita as alterações
                    dbs.Expedicao.Add(expedicao);
                    dbs.SaveChanges();
                    trans.Commit();

                    return(expedicao);
                }
            }
        }
Exemple #5
0
        public SolicitacaoTransporte CriarSolicitacaoTransporte(InformacoesColetaDTO _infoColeta)
        {
            using (var dbs = new dabbawalaContext())
            {
                //  Busca o cliente
                Cliente cliente = new ClienteDAL().GetByCNPJ(_infoColeta.CNPJCliente);
                if (cliente == null)
                {
                    throw new Exception("Não foi encontrado cliente com o CNPJ informado");
                }

                //  Busca o destinatário
                PessoaJuridica destinatario = new PessoaJuridicaDAL().GetByCNPJ(_infoColeta.CNPJDestinatario);
                if (destinatario == null)
                {
                    throw new Exception("Não foi encontrado destinatário com o CNPJ informado");
                }

                // Busca o local de coleta;
                Endereco enderecoColeta = new EnderecoDAL().GetEndereco(_infoColeta.LocalColeta.Logradouro,
                                                                        _infoColeta.LocalColeta.Numero,
                                                                        _infoColeta.LocalColeta.Bairro,
                                                                        _infoColeta.LocalColeta.Municipio,
                                                                        _infoColeta.LocalColeta.UF);
                if (enderecoColeta == null)
                {
                    throw new Exception("Não foi encontrado o endereco de coleta informado");
                }

                // Busca o local de coleta;
                Endereco enderecoEntrega = new EnderecoDAL().GetEndereco(_infoColeta.LocalEntrega.Logradouro,
                                                                         _infoColeta.LocalEntrega.Numero,
                                                                         _infoColeta.LocalEntrega.Bairro,
                                                                         _infoColeta.LocalEntrega.Municipio,
                                                                         _infoColeta.LocalEntrega.UF);
                if (enderecoEntrega == null)
                {
                    throw new Exception("Não foi encontrado o endereco de coleta informado");
                }

                using (var trans = dbs.Database.BeginTransaction())
                {
                    var solicitacao = new SolicitacaoTransporte
                    {
                        // IdSolicitacao = dbs.SolicitacaoTransporte.Select(s => s.IdSolicitacao).DefaultIfEmpty(0).Max(),
                        IdCliente       = cliente.IdPessoa,
                        IdLocalColeta   = enderecoColeta.IdEndereco,
                        IdDestinatario  = destinatario.IdPessoa,
                        IdLocalEntrega  = enderecoEntrega.IdEndereco,
                        IdTransportador = null,
                        Observacoes     = _infoColeta.Observacoes
                    };

                    if (_infoColeta.Itens != null)
                    {
                        foreach (InformacoesItemsDTO infoItemDTO in _infoColeta.Itens)
                        {
                            // Busca o produto;
                            Produto produto = new ProdutoDAL().GetProduto(infoItemDTO.Produto);
                            if (produto == null)
                            {
                                throw new Exception("Não foi encontrado o produto informado");
                            }

                            // Busca a unidade;
                            Unidade unidade = new UnidadeDAL().GetUnidade(infoItemDTO.Unidade);
                            if (unidade == null)
                            {
                                throw new Exception("Não foi encontrada a unidade informada");
                            }

                            int qtde = 0;
                            Int32.TryParse(infoItemDTO.Quantidade, out qtde);
                            var item = new ItensSolicitacao
                            {
                                IdProduto  = produto.IdProduto,
                                IdUnidade  = unidade.IdUnidade,
                                Quantidade = qtde,
                                IdSolicitacaoNavigation = solicitacao
                            };
                            solicitacao.ItensSolicitacao.Add(item);
                        }
                    }

                    dbs.SolicitacaoTransporte.Add(solicitacao);

                    dbs.SaveChanges();
                    trans.Commit();

                    return(solicitacao);
                }
            }
        }
Exemple #6
0
        public void EditarSolicitacaoTransporte(InformacoesColetaDTO _infoColeta)
        {
            using (var dbs = new dabbawalaContext())
            {
                //  Busca o cliente
                Cliente cliente = new ClienteDAL().GetByCNPJ(_infoColeta.CNPJCliente);
                if (cliente == null)
                {
                    throw new Exception("Não foi encontrado cliente com o CNPJ informado");
                }

                //  Busca o destinatário
                PessoaJuridica destinatario = new PessoaJuridicaDAL().GetByCNPJ(_infoColeta.CNPJDestinatario);
                if (destinatario == null)
                {
                    throw new Exception("Não foi encontrado destinatário com o CNPJ informado");
                }

                // Busca o local de coleta;
                Endereco enderecoColeta = new EnderecoDAL().GetEndereco(_infoColeta.LocalColeta.Logradouro,
                                                                        _infoColeta.LocalColeta.Numero,
                                                                        _infoColeta.LocalColeta.Bairro,
                                                                        _infoColeta.LocalColeta.Municipio,
                                                                        _infoColeta.LocalColeta.UF);
                if (enderecoColeta == null)
                {
                    throw new Exception("Não foi encontrado o endereco de coleta informado");
                }

                // Busca o local de coleta;
                Endereco enderecoEntrega = new EnderecoDAL().GetEndereco(_infoColeta.LocalEntrega.Logradouro,
                                                                         _infoColeta.LocalEntrega.Numero,
                                                                         _infoColeta.LocalEntrega.Bairro,
                                                                         _infoColeta.LocalEntrega.Municipio,
                                                                         _infoColeta.LocalEntrega.UF);
                if (enderecoEntrega == null)
                {
                    throw new Exception("Não foi encontrado o endereco de coleta informado");
                }

                using (var trans = dbs.Database.BeginTransaction())
                {
                    SolicitacaoTransporte solicitacao = dbs.SolicitacaoTransporte.Find(_infoColeta.ID);
                    solicitacao.IdCliente       = cliente.IdPessoa;
                    solicitacao.IdLocalColeta   = enderecoColeta.IdEndereco;
                    solicitacao.IdDestinatario  = destinatario.IdPessoa;
                    solicitacao.IdLocalEntrega  = enderecoEntrega.IdEndereco;
                    solicitacao.IdTransportador = null;
                    solicitacao.Observacoes     = _infoColeta.Observacoes;

                    // Remove todos os itenr atuais
                    //solicitacao.ItensSolicitacao.Clear();

                    if (_infoColeta.Itens != null)
                    {
                        foreach (InformacoesItemsDTO infoItemDTO in _infoColeta.Itens)
                        {
                            // Busca o produto;
                            Produto produto = new ProdutoDAL().GetProduto(infoItemDTO.Produto);
                            if (produto == null)
                            {
                                throw new Exception("Não foi encontrado o produto informado");
                            }

                            // Busca a unidade;
                            Unidade unidade = new UnidadeDAL().GetUnidade(infoItemDTO.Unidade);
                            if (unidade == null)
                            {
                                throw new Exception("Não foi encontrada a unidade informada");
                            }

                            int qtde = 0;
                            Int32.TryParse(infoItemDTO.Quantidade, out qtde);

                            // Busca o item atual
                            //ItensSolicitacao item = solicitacao.ItensSolicitacao.Where<ItensSolicitacao>(i => i.IdItemSolicitacao == infoItemDTO.ID).First();
                            ItensSolicitacao item = dbs.ItensSolicitacao.Find(infoItemDTO.ID);
                            // Altera os valores do item atual
                            item.IdProduto  = produto.IdProduto;
                            item.IdUnidade  = unidade.IdUnidade;
                            item.Quantidade = qtde;
                            item.IdSolicitacaoNavigation = solicitacao;
                        }
                    }

                    //dbs.SolicitacaoTransporte.Attach(solicitacao);
                    dbs.SaveChanges();
                    trans.Commit();
                }
            }
        }
Exemple #7
0
 public ExpedicaoController(dabbawalaContext context)
 {
     _context = context;
 }
        public static string GetEntityByName(dabbawalaContext _context, string _entidade)
        {
            if (_entidade.Trim().ToUpper().Equals("ESTADO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Estado>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("MUNICIPIO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Municipio>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("BAIRRO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Bairro>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("ENDERECO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Endereco>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("TIPO_ENDERECO_ELETRONICO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <TipoEnderecoEletronico>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("ENDERECO_ELETRONICO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <EnderecoEletronico>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("PESSOA_JURIDICA"))
            {
                return(JsonConvert.SerializeObject(new DALControl <PessoaJuridica>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("FORNECEDOR"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Fornecedor>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("CLIENTE"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Cliente>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("SOLICITACAO_TRANSPORTE"))
            {
                return(JsonConvert.SerializeObject(new DALControl <SolicitacaoTransporte>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("EMBALAGEM"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Embalagem>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("UNIDADE"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Unidade>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("PRODUTO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Produto>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("ITENS_SOLICITACAO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <ItensSolicitacao>().Listar()));
            }
            if (_entidade.Trim().ToUpper().Equals("EXPEDICAO"))
            {
                return(JsonConvert.SerializeObject(new DALControl <Expedicao>().Listar()));
            }

            return(null);
        }
Exemple #9
0
 public ColetaCargaController(dabbawalaContext _context)
 {
     context = _context;
 }
Exemple #10
0
 public void ForceSetContext(dabbawalaContext context)
 {
     Contexto = context;
 }