Exemple #1
0
        public Rota DefinirPropriedades(Intelbras.Message.Helper.MSG0054 xml)
        {
            var crm = new Rota(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            crm.CodigoRota = xml.CodigoRota;

            crm.Nome = xml.Nome;

            if (!string.IsNullOrEmpty(xml.Roteiro))
            {
                crm.Roteiro = xml.Roteiro;
            }
            else
            {
                crm.AddNullProperty("Roteiro");
            }

            crm.State = xml.Situacao;

            crm.IntegradoEm = DateTime.Now;

            crm.IntegradoPor = usuarioIntegracao.NomeCompleto;

            crm.UsuarioIntegracao = xml.LoginUsuario;

            #endregion

            return(crm);
        }
Exemple #2
0
        public string Executar(string mensagem, string numeroMensagem, Domain.Model.Usuario usuario)
        {
            //Trace.Add("Mensagem " + numeroMensagem + " XML: {0}", mensagem);
            usuarioIntegracao = usuario;
            Rota objeto = this.DefinirPropriedades(this.CarregarMensagem <Pollux.MSG0054>(mensagem));

            if (!resultadoPersistencia.Sucesso)
            {
                retorno.Add("Resultado", resultadoPersistencia);
                return(CriarMensagemRetorno <Pollux.MSG0054R1>(numeroMensagem, retorno));
            }

            objeto = new Intelbras.CRM2013.Domain.Servicos.RotaService(this.Organizacao, this.IsOffline).Persistir(objeto);

            if (objeto == null)
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Registro não encontrado!";
            }
            else
            {
                resultadoPersistencia.Sucesso  = true;
                resultadoPersistencia.Mensagem = "Integração ocorrida com sucesso";
            }


            retorno.Add("Resultado", resultadoPersistencia);
            return(CriarMensagemRetorno <Pollux.MSG0054R1>(numeroMensagem, retorno));
        }
Exemple #3
0
        public Rota Consultar_Rota(int id)
        {
            Rota rot = new Rota();

            try
            {
                using (cmd = new MySqlCommand("SP_Consultar_Rota", Conexao.conexao))
                {
                    conn.abrirConexao();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@id", id);
                    dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        rot.origem_Rota    = dr["origem_Rota"].ToString();
                        rot.destino_Rota   = dr["destino_Rota"].ToString();
                        rot.distancia_Rota = dr["distancia_Rota"].ToString();
                    }
                    rot.id_Rota = id;
                    dr.Close();
                }
                return(rot);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #4
0
        public string PostarLocalizacao()
        {
            RespostaHttp resp = new RespostaHttp();

            try
            {
                Guid          VeiculoID = _requestBody.GetValueAs <Guid>("VeiculoId");
                List <string> Tags      = _requestBody.GetValueAs <List <string> >("Tags");

                double lat = _requestBody.GetValueAs <double>("Latitude");
                double lng = _requestBody.GetValueAs <double>("Longitude");

                var  veiculo = _veiculoService.ObterPorId(VeiculoID);
                Rota rota    = _rotaService.ObterPorId(veiculo.RotaAtual);

                resp = LogicaPost(Tags, lat, lng, rota);

                if (resp == null)
                {
                    throw new Exception();
                }
            }
            catch (Exception)
            {
                resp          = new RespostaHttp();
                resp.Ok       = false;
                resp.Mensagem = "Ocorreu um erro ao processar a requisição. (500)";
            }
            return(Serialize(resp));
        }
Exemple #5
0
        /// <summary>
        /// Mover elevador
        /// </summary>
        private void Mover()
        {
            Destino proxDestino = Rota.FirstOrDefault();

            if (AndarAtual < proxDestino.Andar)
            {
                StatusAtualElevador = StatusElevador.Subindo;
            }
            else
            {
                StatusAtualElevador = StatusElevador.Descendo;
            }

            while (AndarAtual != proxDestino.Andar)
            {
                if (StatusAtualElevador == StatusElevador.Subindo)
                {
                    AndarAtual++;
                }
                else
                {
                    AndarAtual--;
                }

                Console.WriteLine(string.Format("Estamos no {0}º andar", AndarAtual));
            }

            AbirPorta();
        }
        public string PostarLocalizacao()
        {
            RespostaHttp resp = new RespostaHttp();

            try
            {
                Guid VeiculoID = _requestBody.GetValueAs <Guid>("VeiculoId");
                var  veiculo   = _veiculoService.ObterPorId(VeiculoID);
                Rota rota      = _rotaService.ObterPorId(veiculo.RotaAtual);

                var localizacao = new Localizacao
                {
                    HorarioAmostra = DateTime.UtcNow,
                    Latitude       = _requestBody.GetValueAs <double>("Latitude"),
                    Longitude      = _requestBody.GetValueAs <double>("Longitude"),
                    Rota           = rota
                };

                _localizacaoService.SalvarLocalizacao(localizacao);

                resp.Ok       = true;
                resp.Mensagem = "Localização salva com sucesso.";
            }
            catch (Exception)
            {
                resp.Ok       = false;
                resp.Mensagem = "Ocorreu um erro ao processar a requisição. (500)";
            }
            return(Serialize(resp));
        }
Exemple #7
0
        public static DivergenciaKm Processar(Rota rota,
                                              IEnumerable <Infra.Ocorrencia> ocorrencias,
                                              IEnumerable <Deslocamento> deslocamentosAlmoco,
                                              IEnumerable <Deslocamento> deslocamentosAbastecimento,
                                              IEnumerable <Deslocamento> deslocamentosPernoite,
                                              ParadaTratadaAnalitico parada,
                                              decimal vlMetaAderencia)
        {
            List <bool> subIndicadoresDivergenciaKm = new List <bool>();

            _divergenciaKm = new DivergenciaKm();

            subIndicadoresDivergenciaKm.Add(AderenciaRaioKPI(rota.Entregas, vlMetaAderencia));
            subIndicadoresDivergenciaKm.Add(InicioOuFimNoRaio(ocorrencias));
            subIndicadoresDivergenciaKm.Add(MotoristaOuSistemaFinalizouRota(rota));
            subIndicadoresDivergenciaKm.Add(DeslocamentosAlmocoPernoiteAbastecimento(rota, deslocamentosAlmoco, deslocamentosAbastecimento, deslocamentosPernoite));
            subIndicadoresDivergenciaKm.Add(AvaliarSombraCelularOuCelularDesligado(ocorrencias.ToList()));
            subIndicadoresDivergenciaKm.Add(AvaliarPNPRota(parada));

            _divergenciaKm.KMPrevisto  = rota.VlDistanciaTotalPrevista;
            _divergenciaKm.KMRealizado = rota.VlDistanciaTotalRealizada;

            // Se todas os sub indicadores forem verdadeiros significa que houve divergência no Km
            bool houveDivergencia = subIndicadoresDivergenciaKm.Count(indicador => indicador) == subIndicadoresDivergenciaKm.Count;

            _divergenciaKm.HouveDivergencia = houveDivergencia;

            if (!houveDivergencia)
            {
                _divergenciaKm.SetExibirOcorrenciaNoXml(false);
            }

            return(_divergenciaKm);
        }
Exemple #8
0
        public static DivergenciaDiaria Processar(Rota rota)
        {
            DivergenciaDiaria divergenciaDiaria = new DivergenciaDiaria();
            TimeSpan          timeRealizados    = rota.DtChegadaRealizada.Date - rota.DtPartidaRealizada.Date;
            TimeSpan          timePrevistos     = rota.DtChegadaPrevista.Date - rota.DtPartidaPrevista.Date;

            // Contabiliza o dia em que ele saiu
            int diasRealizados = timeRealizados.Days + 1;
            int diasPrevistos  = timePrevistos.Days + 1;

            if (rota.DtChegadaRealizada.Hour < 9)
            {
                diasRealizados--;
            }

            if (rota.DtChegadaPrevista.Hour < 9)
            {
                diasPrevistos--;
            }

            // Não envia o indicador ao WS quando os dias realizados estiverem dentro do previsto
            if (diasRealizados <= diasPrevistos)
            {
                divergenciaDiaria.SetExibirOcorrenciaNoXml(false);
            }

            divergenciaDiaria.QuantidadeDiariaRealizada = diasRealizados < 0 ? 0 : diasRealizados;
            divergenciaDiaria.QuantidadeDiariaPrevista  = diasPrevistos < 0 ? 0 : diasPrevistos;

            return(divergenciaDiaria);
        }
 public Mensalidade(int pId, string pDias, float pCusto, Rota pRota)
 {
     id = pId;
     dias = pDias;
     custo = pCusto;
     rota = pRota;
 }
        public IActionResult Index()
        {
            Rota           rota          = new Rota();
            List <Produto> ListaProdutos = rota.PegaProdutos().ToList();

            return(View("Lista", ListaProdutos));
        }
        public IActionResult CompraProduto(int id)
        {
            Rota    rota    = new Rota();
            Produto produto = rota.PegaProdutos().Single(item => item.IDProduto == id);

            return(View(produto));
        }
Exemple #12
0
        public void Nao_Deve_Existir_Trecho_Com_Km_Zero()
        {
            var rota    = new Rota(1);
            var veiculo = new Veiculo(1, 7);

            rota.AdicionarTrecho(veiculo, "A", 0);
        }
Exemple #13
0
                public static Rota Create(Property p, Quaternion o, QuaternionCallback c)
                {
                    Rota r = null;

                    if (p.rdp.Count > 0)
                    {
                        r = p.rdp.Dequeue();
                        r.gameObject.SetActive(true);
                        r.transform.rotation = o;
                    }
                    else
                    {
                        r = new GameObject("Rotation Handle").AddComponent <Rota>();
                        r.transform.rotation = o;
                        r.transform.SetParent(Parent);
                        QuaternionCallback _c = (v) => { r.transform.rotation = v; if (r.callback != null)
                                                         {
                                                             r.callback(v);
                                                         }
                        };
                        for (int i = 0; i < 3; i++)
                        {
                            RotaSingle s = RotaSingle.Create(p, o, (Axis3)i, null);
                            s.transform.SetParent(r.transform, false);
                            s.DragEvent += _c;
                        }
                    }
                    r.callback = c;
                    r.property = p;
                    p.rep.Add(r);
                    return(r);
                }
Exemple #14
0
 public FConsultaRota2(int cod_rota)
 {
     InitializeComponent();
     _Rota  = new RotaDAO().Find(r => r.COD_ROTA == cod_rota).First <Rota>();
     rotaBO = new RotaBO(_Rota);
     bindIformacoesRota();
 }
Exemple #15
0
        public void ObterDistanciaRotaInexistente()
        {
            Rota rota       = new Rota();
            var  iDistancia = _rota.ObterDistancia("A-E-D");

            Assert.AreEqual(iDistancia, -1);
        }
Exemple #16
0
 public RotaModel(Rota rota)
 {
     this.Latitude  = rota.Latitude;
     this.Longitude = rota.Longitude;
     this.Codigo    = rota.Codigo;
     this.Id        = rota.Id;
 }
Exemple #17
0
        static void Main(string[] args)
        {
            var sRota      = "";
            var iDistancia = 0;

            Rota rota = new Rota();

            rota.AddRota("AB", 5);
            rota.AddRota("BC", 4);
            rota.AddRota("CD", 8);
            rota.AddRota("DC", 8);
            rota.AddRota("DE", 6);
            rota.AddRota("AD", 5);
            rota.AddRota("CE", 2);
            rota.AddRota("EB", 3);
            rota.AddRota("AE", 7);

            Console.WriteLine("Informe a rota desejada: ");
            sRota = Console.ReadLine().ToUpper();

            iDistancia = rota.ObterDistancia(sRota);

            if (iDistancia == -1)
            {
                Console.WriteLine("NAO EXISTE ROTA");
            }
            else
            {
                Console.WriteLine(iDistancia);
            }
        }
        public CommandResult Criar(CriarRotaCommand command)
        {
            try
            {
                command.Validate();
                if (command.Invalid)
                {
                    return(CommandResult.Invalid(command.Notifications.ToNotificationsString()));
                }

                Rota rota = Rota.Criar(
                    DataString.FromString(command.Nome),
                    DataString.FromNullableString(command.Composicao_Rota),
                    DataString.FromNullableString(command.Observacao),
                    command.Flag_Ativo);

                dataContext.Add(rota);
                dataContext.SaveChanges();

                return(CommandResult.Valid());
            }
            catch (Exception ex)
            {
                return(CommandResult.Invalid(ex.Message));
            }
        }
        public CommandResult Remover(int cod_Rota)
        {
            string entityName  = "Rota";
            string commandName = $"Removendo {entityName}";

            try
            {
                Rota rota = dataContext.Rota.FirstOrDefault(x => x.Cod_Rota == cod_Rota);

                if (rota is null)
                {
                    return(CommandResult.Invalid(Logs.EntidadeNaoEncontrada(entityName, cod_Rota)));
                }


                dataContext.Remove(rota);

                dataContext.SaveChanges();

                return(CommandResult.Valid());
            }
            catch (Exception ex)
            {
                return(CommandResult.Invalid(ex.Message));
            }
        }
Exemple #20
0
        protected virtual Rota LoadFromControls()
        {
            Rota rota = new Rota();

            if (!string.IsNullOrEmpty(txtId.Text))
            {
                rota.id = Convert.ToInt64(txtId.Text);
            }

            rota.id_transportadora = Convert.ToInt64(cbTransportadora.SelectedValue);
            rota.id_cidade         = Convert.ToInt32(cbCidade.SelectedValue);

            rotaBLL = new RotaBLL();

            List <Rota> RotaList = rotaBLL.getRota(p => p.id_transportadora == rota.id_transportadora & p.id_cidade == rota.id_cidade);

            if (RotaList.Count > 0)
            {
                rota                   = RotaList.First();
                rota.id_cidade         = Convert.ToInt64(cbCidade.SelectedValue);
                rota.id_transportadora = Convert.ToInt64(cbTransportadora.SelectedValue);
                Id = rota.id;
            }

            return(rota);
        }
Exemple #21
0
        public void ObterDistanciaRota_ABC()
        {
            Rota rota       = new Rota();
            var  iDistancia = _rota.ObterDistancia("A-B-C");

            Assert.AreEqual(iDistancia, 9);
        }
Exemple #22
0
        public Rota Persistir(Rota objRota)
        {
            Rota TmpRota = null;

            if (!String.IsNullOrEmpty(objRota.CodigoRota))
            {
                TmpRota = RepositoryService.Rota.ObterPor(objRota.CodigoRota);

                if (TmpRota != null)
                {
                    objRota.ID = TmpRota.ID;

                    RepositoryService.Rota.Update(objRota);

                    if (!TmpRota.State.Equals(objRota.State) && objRota.State != null)
                    {
                        this.MudarStatus(TmpRota.ID.Value, objRota.State.Value);
                    }

                    return(TmpRota);
                }
                else
                {
                    objRota.ID = RepositoryService.Rota.Create(objRota);
                    return(objRota);
                }
            }
            else
            {
                return(null);
            }
        }
Exemple #23
0
        public void ObterDistanciaRota_AEBCD()
        {
            Rota rota       = new Rota();
            var  iDistancia = _rota.ObterDistancia("A-E-B-C-D");

            Assert.AreEqual(iDistancia, 22);
        }
        public AdicionarRotaResponse Adicionar(AdicionarRotaRequest adicionarRotaRequest)
        {
            var veiculo = this.veiculoDao.Obter(adicionarRotaRequest.VeiculoId);

            if (veiculo == null)
            {
                throw new Exception("Nenhum Veiculo econtrado com esse id");
            }

            var empresa = this.empresaDao.Obter(adicionarRotaRequest.EmpresaId);

            if (empresa == null)
            {
                throw new Exception("Nenhuma empresa econtrada com esse id");
            }

            var rota = new Rota()
            {
                Nome    = adicionarRotaRequest.Nome,
                Empresa = empresa,
                Veiculo = veiculo
            };

            this.rotaDao.Salvar(rota);

            return(new AdicionarRotaResponse(rota.Id));
        }
 public IActionResult Atualizar(Rota rota)
 {
     _rotRepository.Update(rota);
     _rotRepository.Save();
     TempData["mensagem"] = "Atualizado com Sucesso!!";
     return(RedirectToAction("Listar"));
 }
Exemple #26
0
        public List <Rota> ProcurarPorOrigem(string origem)
        {
            List <Rota> listaRota = new List <Rota>();

            try
            {
                using (cmd = new MySqlCommand("Select * from Rota where origem_Rota = @origem", Conexao.conexao))
                {
                    conn.abrirConexao();
                    cmd.Parameters.AddWithValue("@origem", origem);
                    dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        Rota rot = new Rota();
                        rot.id_Rota        = Convert.ToInt32(dr["id_Rota"].ToString());
                        rot.origem_Rota    = dr["origem_Rota"].ToString();
                        rot.destino_Rota   = dr["destino_Rota"].ToString();
                        rot.distancia_Rota = dr["distancia_Rota"].ToString();
                        listaRota.Add(rot);
                    }
                    dr.Close();
                    return(listaRota);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public static DiariaCliente Processar(Rota rota, TipoVeiculo tipoVeiculo)
        {
            List <Entrega> entregas      = rota.Entregas;
            DiariaCliente  diariaCliente = null;

            entregas.ForEach(entrega =>
            {
                if (entrega.DtChegadaRealizada != null && entrega.DtPartidaRealizada != null && entrega.UnidadeNegocio != null)
                {
                    TimeSpan datPercorrido = (entrega.DtPartidaRealizada - entrega.DtChegadaRealizada);
                    //Comparação feita em dias

                    if (datPercorrido.TotalSeconds > (entrega.UnidadeNegocio.QtHoraMaxPermanenciaCarreta * 3600) && tipoVeiculo.DsTipo.Contains("CTA"))
                    {
                        if (diariaCliente == null)
                        {
                            diariaCliente = new DiariaCliente();
                        }
                        int qtdDiarias = ((int)datPercorrido.TotalDays) + 1;
                        diariaCliente.AdicionarItem(entrega.Cliente.CdClienteNegocio, qtdDiarias);
                    }
                }
            });

            return(diariaCliente);
        }
Exemple #28
0
        public static bool DeslocamentosAlmocoPernoiteAbastecimento(Rota rota,
                                                                    IEnumerable <Deslocamento> deslocamentosAlmoco,
                                                                    IEnumerable <Deslocamento> deslocamentosAbastecimento,
                                                                    IEnumerable <Deslocamento> deslocamentosPernoite)
        {
            // Se algum deslocamento for nulo, significa que a estrutura correspondente é inconsistente
            if (deslocamentosAlmoco == null || deslocamentosAbastecimento == null || deslocamentosPernoite == null)
            {
                return(false);
            }

            List <IEnumerable <Deslocamento> > lstDeslocamentos = new List <IEnumerable <Deslocamento> >();

            lstDeslocamentos.Add(deslocamentosAlmoco);
            lstDeslocamentos.Add(deslocamentosAbastecimento);
            lstDeslocamentos.Add(deslocamentosPernoite);

            for (int index = 0; index < 3; index++)
            {
                foreach (var deslocamento in lstDeslocamentos[index])
                {
                    bool deslocamentoValido;
                    deslocamentoValido = IsDeslocamentoValido(rota, deslocamento);

                    if (!deslocamentoValido)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
        public IEnumerable <BaldeioEntrega> GetBaldeiosMultiTransporteByRotaDestino(long cdRotaBaldeada)
        {
            using (var dapperConnection = AbreConexao())
            {
                PersistenceDataContext persistence = new PersistenceDataContext();

                dapperConnection.Open();

                var baldeiosRota = dapperConnection
                                   .Query <BaldeioEntrega>(@"SELECT BaldeioEntrega.*, RotaOrigem.* FROM OPMDM.TB_BALDEIO_ENTREGA BaldeioEntrega
                                            INNER JOIN OPMDM.TB_ROTA RotaOrigem ON BaldeioEntrega.CdRotaOrigem = RotaOrigem.CdRota
                                            WHERE BaldeioEntrega.CdRotaDestino = @CdRotaBaldeada",
                                                           new[]
                {
                    typeof(BaldeioEntrega),
                    typeof(Rota)
                },
                                                           objects =>
                {
                    BaldeioEntrega BaldeioEntrega = objects[0] as BaldeioEntrega;
                    Rota Rota = objects[1] as Rota;

                    if (BaldeioEntrega != null)
                    {
                        BaldeioEntrega.RotaOrigem = Rota;
                    }

                    return(BaldeioEntrega);
                },
                                                           splitOn: "CdRotaNegocio",
                                                           param: new { CdRotaBaldeada = cdRotaBaldeada }).AsList();

                return(baldeiosRota);
            }
        }
Exemple #30
0
        public IEnumerable <Rota> Consultar_Rotas()
        {
            List <Rota> rotaList = new List <Rota>();

            try
            {
                using (cmd = new MySqlCommand("Select * from Consultar_Rotas", Conexao.conexao))
                {
                    conn.abrirConexao();
                    dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        Rota rot = new Rota();
                        rot.id_Rota        = Convert.ToInt32(dr["id_Rota"].ToString());
                        rot.origem_Rota    = dr["origem_Rota"].ToString();
                        rot.destino_Rota   = dr["destino_Rota"].ToString();
                        rot.distancia_Rota = dr["distancia_Rota"].ToString();
                        rotaList.Add(rot);
                    }
                    dr.Close();
                    return(rotaList);
                }
            }catch (Exception)
            {
                throw;
            }
        }
        public IActionResult ExcluiProduto(Produto produto)
        {
            Rota rota = new Rota();

            rota.ExcluiProduto(produto.IDProduto);
            return(RedirectToAction("Index"));
        }
 public FrmRotaProcessa()
     : base(false)
 {
     InitializeComponent();
     RowBackColorMap = new Hashtable();
     RowForeColorMap = new Hashtable();
     rota = new Rota();
 }
        public static void Main()
        {
            Endereco e1 = new Endereco();
            e1.NomeRuaAvenida = "Avenida Paulista";
            e1.Numero = 1000;
            e1.Cidade = "São Paulo";
            e1.Estado = "SP";

            Endereco e2 = new Endereco();
            e2.NomeRuaAvenida = "Rua coimbra";
            e2.Numero = 705;
            e2.Cidade = "Diadema";
            e2.Estado = "SP";

            IRota r = new Rota();
            var maisrapida = r.MaisRapida(e1, e2);
            var evitatransito = r.EvitandoTransito(e1, e2);
            //add breakpoint
            Rota debug1 = maisrapida;
            Rota debug2 = evitatransito;
        }
Exemple #34
0
        private void mnuMarcarVisitaPendente_Click(object sender, EventArgs e)
        {
            SqlCeTransaction trans = null;
            Rota r = new Rota();
            try
            {
                if (D.Cliente == null)
                    throw new Exception("Nenhum cliente carregado!");

                if (D.Funcionario == null)
                    throw new Exception("Nenhum funcionário carregado!");

                int IdCliente = D.Cliente.IdStore;
                if (IdCliente <= 0)
                    throw new Exception("Somente cliente cadastrados no NeoStore podem ter visitação agendada!");

                int IdFuncionario = D.Funcionario.Id;
                int Status = (int)Rota.StatusEnum.Pendente;
                DateTime DtVisita = DateTime.Now;

                int rowsAffected = -1;

                using (trans = D.Bd.Con.BeginTransaction())
                {
                    using (SqlCeCommand cmd = new SqlCeCommand(String.Empty, D.Bd.Con))
                    {
                        // Verificar se existe alguma visita agendada para aquele cliente no periodo de validade e que já não esteja pendente!
                        cmd.CommandText = "SELECT COUNT(*) as Total FROM visita WHERE id_cliente=@id_cliente and (data_visita >= @data_visita_ini and data_visita <= @data_visita_end)";
                        cmd.Parameters.Add("@id_cliente", SqlDbType.Int).Value = IdCliente;
                        cmd.Parameters.Add("@data_visita_ini", SqlDbType.DateTime).Value = r.ValidadeInicio;
                        cmd.Parameters.Add("@data_visita_end", SqlDbType.DateTime).Value = r.ValidadeFim;

                        Int32 total = 0;

                        try
                        {
                            total = Int32.Parse(cmd.ExecuteScalar().ToString());
                        }
                        catch { }

                        cmd.Parameters.Clear();

                        StringBuilder builder = new StringBuilder();

                        if (total == 0)
                        {
                            builder.AppendLine("INSERT INTO visita (id_cliente, id_funcionario, status, data_visita)");
                            builder.AppendLine("VALUES");
                            builder.AppendLine("(@id_cliente, @id_funcionario, @status, @data_visita)");
                            cmd.Parameters.Add("@id_funcionario", SqlDbType.Int).Value = IdFuncionario;
                            cmd.Parameters.Add("@data_visita", SqlDbType.DateTime).Value = DtVisita;
                        }
                        else
                        {
                            // Partindo do pre suposto que so deixe cadastrar uma unica visita para o cliente no determinado periodo
                            builder.AppendLine("UPDATE visita SET status=@status WHERE id_cliente=@id_cliente and (data_visita >= @data_visita_ini and data_visita <= @data_visita_end)");
                            cmd.Parameters.Add("@data_visita_ini", SqlDbType.DateTime).Value = r.ValidadeInicio;
                            cmd.Parameters.Add("@data_visita_end", SqlDbType.DateTime).Value = r.ValidadeFim;
                        }

                        cmd.CommandText = builder.ToString();
                        cmd.Parameters.Add("@id_cliente", SqlDbType.Int).Value = IdCliente;
                        cmd.Parameters.Add("@status", SqlDbType.Int).Value = Status;

                        // Executa o comando
                        rowsAffected = cmd.ExecuteNonQuery();
                        trans.Commit();
                        MessageBox.Show("Cliente marcado como pendente");
                    }
                }
            }
            catch (Exception ex)
            {
                trans.Rollback();
                MessageBox.Show(ex.Message);
            }
        }
Exemple #35
0
 private void JSONSerialize(Rota rotaAtual)
 {
     MemoryStream stream = new MemoryStream();
     DataContractJsonSerializer jsonSer = new DataContractJsonSerializer(typeof(Rota));
     jsonSer.WriteObject(stream, rotaAtual);
     stream.Position = 0;
     StreamReader sr = new StreamReader(stream);
     File.WriteAllText(string.Format("D:/rota/{1} - {0}.json", rotaAtual.Nome, DateTime.Now.ToString("yyyy_MM_dd_HHmmss")), sr.ReadToEnd(), Encoding.UTF8);
 }
Exemple #36
0
        //da
        public bool ExecutarTarefasNoBd()
        {
            //Iniciar transação
            SqlCeTransaction dbTrans = null;
            dbTrans = D.Bd.Con.BeginTransaction();

            if (D.Acao == D.AcaoEnum.PedidoCadastro)
            {
                if (!inserirTabelaPedido(dbTrans))
                    return false;

                foreach (Produto p in LstItem)
                {
                    if (p.QuantidadeRequerida > 0)
                    {
                        if (p.AcaoProduto == Produto.EnumAcaoProduto.ItemAdicionar || p.AcaoProduto == Produto.EnumAcaoProduto.ItemAlterar)
                            if (!inserirItemPedido(dbTrans, p))
                                return false;
                    }
                }
            }
            else
            {
                if (D.Acao == D.AcaoEnum.PedidoEdicao)
                {
                    if (!atualizaTabelaPedido(dbTrans))
                        return false;

                    foreach (Produto p in LstItem)
                    {
                        string sqlChecaItemNoBd = @"
                        SELECT
                                pedido.id_pedido, item_pedido.id_produto
                        FROM
                                pedido INNER JOIN
                                item_pedido ON pedido.id_pedido = item_pedido.id_pedido
                        WHERE
                                (pedido.id_pedido = '" + D.Pedido.Id + "') AND (item_pedido.id_produto = " + p.Id + ")";
                        IntN testeExistencia;

                        SqlCeDataReader rdCarga = D.Bd.Linha(sqlChecaItemNoBd);
                        testeExistencia = Bd.IntN(rdCarga, "id_produto");

                        if (testeExistencia.Iniciada)
                        {
                            if (p.AcaoProduto != Produto.EnumAcaoProduto.ItemExcluir)
                                p.AcaoProduto = Produto.EnumAcaoProduto.ItemAlterar;
                            else // Else Não faz nada mas deixa isso bem claro que é para Excluir
                                p.AcaoProduto = Produto.EnumAcaoProduto.ItemExcluir;
                        }
                        else
                        {
                            if (p.AcaoProduto != Produto.EnumAcaoProduto.ItemExcluir)
                                p.AcaoProduto = Produto.EnumAcaoProduto.ItemAdicionar;
                            //Caso contrário um item foi deletado da lista antes de ser inserido no
                            //banco de dados, então nada precisa ser feito
                        }

                        switch (p.AcaoProduto)
                        {
                            case Produto.EnumAcaoProduto.ItemAdicionar:
                                if (!inserirItemPedido(dbTrans, p))
                                    return false;
                                break;
                            case Produto.EnumAcaoProduto.ItemAlterar:
                                if (!atualizaTabelaItemPedido(dbTrans, p))
                                    return false;
                                break;
                            case Produto.EnumAcaoProduto.ItemExcluir:
                                if (!ItensExcluir(dbTrans, p))
                                    return false;
                                break;
                            default:
                                FE.Show("Nenhuma ação foi definida para esse produto executar no banco de dados.", "Neo");
                                break;
                        }
                    }
                }
            }

            Rota r = new Rota();
            Int32 Status = (int)Rota.StatusEnum.Visitado;

            // Cria uma visita para o cliente nao exista
            using (SqlCeCommand cmd = new SqlCeCommand(String.Empty, D.Bd.Con))
            {
                // Verificar se existe alguma visita agendada para aquele cliente no periodo de validade e que já não esteja pendente!
                cmd.CommandText = "SELECT COUNT(*) as Total FROM visita WHERE id_cliente=@id_cliente and (data_visita >= @data_visita_ini and data_visita <= @data_visita_end)";
                cmd.Parameters.Add("@id_cliente", SqlDbType.Int).Value = D.Cliente.IdStore;
                cmd.Parameters.Add("@data_visita_ini", SqlDbType.DateTime).Value = r.ValidadeInicio;
                cmd.Parameters.Add("@data_visita_end", SqlDbType.DateTime).Value = r.ValidadeFim;

                Int32 total = 0;

                try
                {
                    total = Int32.Parse(cmd.ExecuteScalar().ToString());
                }
                catch { }

                cmd.Parameters.Clear();

                StringBuilder builder = new StringBuilder();

                if (total == 0)
                {
                    builder.AppendLine("INSERT INTO visita (id_cliente, id_funcionario, status, data_visita)");
                    builder.AppendLine("VALUES");
                    builder.AppendLine("(@id_cliente, @id_funcionario, @status, @data_visita)");
                    cmd.Parameters.Add("@id_funcionario", SqlDbType.Int).Value = D.Funcionario.Id;
                    cmd.Parameters.Add("@data_visita", SqlDbType.DateTime).Value = DateTime.Now;
                }
                else
                {
                    // Partindo do pre suposto que so deixe cadastrar uma unica visita para o cliente no determinado periodo
                    builder.AppendLine("UPDATE visita SET status=@status WHERE id_cliente=@id_cliente and (data_visita >= @data_visita_ini and data_visita <= @data_visita_end)");
                    cmd.Parameters.Add("@data_visita_ini", SqlDbType.DateTime).Value = r.ValidadeInicio;
                    cmd.Parameters.Add("@data_visita_end", SqlDbType.DateTime).Value = r.ValidadeFim;
                }

                cmd.CommandText = builder.ToString();
                cmd.Parameters.Add("@id_cliente", SqlDbType.Int).Value = D.Cliente.IdStore;
                cmd.Parameters.Add("@status", SqlDbType.Int).Value = Status;

                // Executa o comando
                cmd.ExecuteNonQuery();
            }

            dbTrans.Commit();
            return true;
        }