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(); } }
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); } } }
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 } } } }