예제 #1
0
        private void SalvarDadosVendas(Dictionary <long, ClienteSeparado> dicVendas)
        {
            try
            {
                conexao.Open();
                foreach (long identificacao in dicVendas.Keys)
                {
                    ClienteSeparado cliente = dicVendas[identificacao];
                    foreach (Venda venda in cliente.ListaVendas)
                    {
                        command.Parameters["@nome"].Value             = cliente.Nome;
                        command.Parameters["@Identificacao"].Value    = cliente.Indentificacao;
                        command.Parameters["@tipopessoa"].Value       = cliente.TipoPessoa;
                        command.Parameters["@sexo"].Value             = cliente.Sexo;
                        command.Parameters["@telefone"].Value         = cliente.Telefone;
                        command.Parameters["@ticketmedio"].Value      = cliente.TicketMedio.ToString().Replace('.', ',');
                        command.Parameters["@ultimavenda"].Value      = cliente.UltimaVenda.ToString("yyyy-MM-ddTHH:mm:ss");
                        command.Parameters["@valortotal"].Value       = venda.Valor.ToString().Replace('.', ',');
                        command.Parameters["@valoritens"].Value       = venda.VlrItens.ToString().Replace('.', ',');
                        command.Parameters["@qtItens"].Value          = venda.QntItens;
                        command.Parameters["@datavenda"].Value        = venda.Data.ToString("yyyy-MM-ddTHH:mm:ss");
                        command.Parameters["@idnf"].Value             = venda.IDNF;
                        command.Parameters["@Veiculo"].Value          = String.IsNullOrEmpty(venda.Veiculo) ? "Não Identificado" : venda.Veiculo;
                        command.Parameters["@Ano"].Value              = String.IsNullOrEmpty(venda.Ano) ? "Não Identificado" : venda.Ano;
                        command.Parameters["@Placa"].Value            = String.IsNullOrEmpty(venda.Placa) ? "Não Identificado" : venda.Placa;
                        command.Parameters["@Km"].Value               = String.IsNullOrEmpty(venda.KM) ? "Não Identificado" : venda.KM;
                        command.Parameters["@FaixaAno"].Value         = String.IsNullOrEmpty(venda.FaixaAno) ? "Não Identificado" : venda.FaixaAno;
                        command.Parameters["@FaixaTicketmedio"].Value = cliente.FaixaTicketMedio;

                        command.Parameters["@NomeServico"].Value       = (venda.Servico != null) ? venda.Servico.NomeServico : "";
                        command.Parameters["@Funcionario"].Value       = (venda.Servico != null) ? venda.Servico.Funcionario : "";
                        command.Parameters["@QtItensServico"].Value    = (venda.Servico != null) ? venda.Servico.QntItens : 0;
                        command.Parameters["@TempoServico"].Value      = (venda.Servico != null) ? venda.Servico.Tempo : "0:00";
                        command.Parameters["@TipoServico"].Value       = (venda.Servico != null) ? venda.Servico.TipoServico : "";
                        command.Parameters["@ValorTotalServico"].Value = (venda.Servico != null) ? venda.Servico.VlrTotal : 0;
                        command.Parameters["@ValorUnitServico"].Value  = (venda.Servico != null) ? venda.Servico.VlrUnit : 0;

                        command.Parameters["@FormaPagto"].Value = venda.FormaPagto;
                        command.Parameters["@CondPagto"].Value  = venda.CondPagto;

                        command.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.Write("Ocorreu um erro ao salvar os dados das vendas");
                Console.Write(ex.ToString());
            }
            finally
            {
                conexao.Close();
            }
        }
예제 #2
0
        private void MontarDicionarioVendas(DataTable tableNotas, Dictionary <long, ClienteSeparado> dicVendas)
        {
            foreach (DataRow row in tableNotas.Rows)
            {
                ClienteSeparado cliente = new ClienteSeparado();
                cliente.Nome = row[1].ToString();
                if (row[2].ToString() != String.Empty)
                {
                    cliente.Indentificacao = Convert.ToInt64(row[2]);
                }
                else if (row[3].ToString() != String.Empty)
                {
                    cliente.Indentificacao = Convert.ToInt64(row[3]);
                }

                cliente.TipoPessoa = row.ItemArray[4].ToString() == "F" ? "Fisica" : "Juridica";
                string vlrItens = Convert.ToDouble(row.ItemArray[5].ToString()).ToString().Replace(',', '.');
                cliente.Sexo = PegarSexo(cliente.Nome, cliente.TipoPessoa);

                List <string> fones = new List <string>();

                if ((row[13] is DBNull) == false)
                {
                    fones.Add(row[13].ToString());
                }
                if ((row[14] is DBNull) == false)
                {
                    fones.Add(row[14].ToString());
                }
                if ((row[15] is DBNull) == false)
                {
                    fones.Add(row[15].ToString());
                }
                if ((row[16] is DBNull) == false)
                {
                    fones.Add(row[16].ToString());
                }


                cliente.Telefone = string.Join(" / ", fones);


                Venda venda = new Venda();
                venda.IDNF  = Convert.ToInt32(row[0]);
                venda.Valor = Convert.ToDouble(row[5]);
                venda.Data  = Convert.ToDateTime(row[6]);
                if ((row[7] is DBNull) == false)
                {
                    venda.VlrItens = Convert.ToDouble(row[7]);
                }
                if ((row[8] is DBNull) == false)
                {
                    venda.CustoItens = Convert.ToDouble(row[8]);
                }
                if ((row[9] is DBNull) == false)
                {
                    venda.QntItens = Convert.ToInt16(row[9]);
                }
                venda.DadosAdicionais = row[10].ToString();
                venda.FormaPagto      = row[11].ToString();
                venda.CondPagto       = row[12].ToString();

                if (dicVendas.ContainsKey(cliente.Indentificacao))
                {
                    dicVendas[cliente.Indentificacao].ListaVendas.Add(venda);
                }
                else
                {
                    dicVendas.Add(cliente.Indentificacao, cliente);
                    dicVendas[cliente.Indentificacao].ListaVendas.Add(venda);
                }
            }
        }
예제 #3
0
        private void PegarInfosVeiculos(Dictionary <long, ClienteSeparado> dicVendas)
        {
            foreach (long identificacao in dicVendas.Keys)
            {
                ClienteSeparado vendas = dicVendas[identificacao];
                foreach (Venda venda in vendas.ListaVendas)
                {
                    if (venda.DadosAdicionais.Length > 20 && !venda.DadosAdicionais.Contains("DIV-    ") &&
                        !venda.DadosAdicionais.Contains("BANCO DO BRASIL AGENCIA "))
                    {
                        #region Capturar placa
                        Regex regex = new Regex(@"[a-zA-Z]{3}\-\d{4}");
                        regex.Match(venda.DadosAdicionais);
                        int index = 0;

                        Match match = regex.Match(venda.DadosAdicionais);
                        if (match.Success)
                        {
                            index = match.Index;
                        }

                        venda.Placa = venda.DadosAdicionais.Substring(index, 8);
                        if (venda.Placa.Contains("Manutenç"))
                        {
                            int indexPlaca = venda.DadosAdicionais.IndexOf("veículo de placa ") + 17;
                            venda.Placa = venda.DadosAdicionais.Substring(indexPlaca, 7).Insert(3, "-");
                        }
                        else if (venda.Placa.Contains("DIV-    "))
                        {
                            int indexPlaca = venda.DadosAdicionais.IndexOf("veículo de placa ") + 17;
                            venda.Placa = venda.DadosAdicionais.Substring(indexPlaca, 7).Insert(3, "-");
                        }
                        #endregion
                        //if (venda.DadosAdicionais.Contains("SOLICITAÇÃO E APROVAÇÃO DE SERVIÇOS: "))
                        //{

                        //}

                        #region Capturar Veiculo
                        try
                        {
                            int indexStartCarro = venda.DadosAdicionais.IndexOf(" / ");
                            int indexEndCarro   = venda.DadosAdicionais.IndexOf(" - ", indexStartCarro);
                            if (indexEndCarro == -1)
                            {
                                indexEndCarro = venda.DadosAdicionais.IndexOf(" ", indexStartCarro + 3);
                            }
                            int lenghtCarro = indexEndCarro - indexStartCarro;

                            string veiculo = venda.DadosAdicionais.Substring(indexStartCarro + 3, lenghtCarro - 3);

                            if (veiculo.Contains("\r"))
                            {
                                veiculo = veiculo.Substring(0, veiculo.IndexOf("\r"));
                            }

                            Match matchVeiculo = regex.Match(veiculo);
                            if (matchVeiculo.Success)
                            {
                                index   = matchVeiculo.Index;
                                veiculo = veiculo.Substring(0, index);
                            }

                            venda.Veiculo = veiculo.Trim();
                        }
                        catch (Exception ex)
                        {
                            venda.Veiculo = "Não Identificado";
                        }
                        #endregion

                        #region CapturarAno
                        int indexStartAno = venda.DadosAdicionais.IndexOf("ANO: ") + 5;
                        venda.Ano      = venda.DadosAdicionais.Substring(indexStartAno, 4);
                        venda.FaixaAno = ClassificarAno(venda.Ano);
                        #endregion

                        #region Capturar KM
                        if (venda.DadosAdicionais.Contains("KM:"))
                        {
                            int    indexStartKM = venda.DadosAdicionais.IndexOf("KM: ") + 4;
                            string Km;
                            if (venda.DadosAdicionais.Length < indexStartKM + 6)
                            {
                                int lenght = venda.DadosAdicionais.Length - indexStartKM;
                                Km = venda.DadosAdicionais.Substring(indexStartKM, lenght);
                            }
                            else
                            {
                                Km = venda.DadosAdicionais.Substring(indexStartKM, 6);
                            }


                            venda.KM = new string(Km.Where(c => char.IsDigit(c)).ToArray());
                        }
                        else if (venda.DadosAdicionais.Contains("Manutenção efetuada no veículo de placa"))
                        {
                            int    indexStartKM = venda.DadosAdicionais.IndexOf("KM ") + 3;
                            int    indexEndKM   = venda.DadosAdicionais.IndexOf(",", indexStartKM);
                            int    lenghtCarro  = indexEndKM - indexStartKM;
                            string Km           = venda.DadosAdicionais.Substring(indexStartKM, lenghtCarro);

                            venda.KM  = new string(Km.Where(c => char.IsDigit(c)).ToArray());
                            venda.Ano = "Não Identificado";
                        }
                        #endregion
                    }
                }
            }
        }