//***********************************************************// //***************** FATURAR ************************// //***********************************************************// private void btnFaturar_Click(object sender, EventArgs e) { // // ALGORITIMO DE FATURAMENTO // ao clicar em faturar // lista dados selecionados a faturar // se > caso nao tenha nenhuma linha selecionada // emite aviso(voce deve selecionar os itens para faturar) // se nao > // soma total pelas linhas selecionadas // salva novo registro na fatura e retorna o id // ** // pega o id do cliente selecionado // salva nos registros selecionados // o valor 1 em faturado e o id da fatura // apos o evento recupera os dados da fatura // e preenche os dados nas variaveis pra passar por parametro. // entao abre novo formulario com a fatura selecionada // List <DataGridViewRow> Selecionados = (from row in gridTrabalhos.Rows.Cast <DataGridViewRow>() where Convert.ToBoolean(row.Cells[0].Value) == true select row).ToList(); // if (Selecionados.Count > 0) { var msg = ""; if (rdAbertos.Checked == true) { msg = "Faturar"; } else if (rdFaturados.Checked == true) { msg = "Cancelar Faturamento de"; } if (MessageBox.Show(string.Format("Tem Certeza que Deseja " + msg + " {0} Registro(s)?", Selecionados.Count), "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes) { decimal total = 0; DateTime hoje = DateTime.Today.Date; int IDCliente = Convert.ToInt32(lblClienteID.Text); hoje.ToShortDateString(); var dia = hoje.ToString("yyyy/MM/dd"); // //salva fatura e retorna id var fatura = new Faturas(); fatura.clienteFatura = IDCliente; fatura.dataEmissao = hoje; fatura.dataVencimento = hoje.AddDays(5); fatura.moeda = lblMoeda.Text; fatura.valorHora = lblPrecoHora.Text; fatura.totalFatura = txtTotal.Text; fatura.Salvar(); // foreach (DataGridViewRow row in Selecionados) { var i = row.Cells[1].Value; // # checa se estiver aberto, entao fatura if (rdAbertos.Checked == true) { //retorna o id e escreve no textbox var idRetorno = Faturas.retornaID(); var fat = idRetorno[0]; var idRetornado = fat.IDFat; txtIDFat.Text = Convert.ToString(idRetornado); // //soma e escreve valores selecionados //pra somar precisa converter, pois a entrada vem com a string R$ //pega o valor correspondente a linha.celula var valor = row.Cells[8].Value.ToString(); decimal valorC = Convert.ToDecimal(valor); total += valorC; //txtTotal.Text = Convert.ToString(total); //atualiza fatura com os dados retornados e calculados var upFatura = new Faturas(); fatura.IDFat = idRetornado; fatura.totalFatura = Convert.ToString(total); fatura.Salvar(); //salva os dados nos itens //salva id da fatura e marca como faturado var id = Convert.ToInt32(i); var sim = 1; var t = new iTrabalho(); t.Fatura(id, sim, idRetornado); //TODO.. // } // # se estiver fechado, cancela fatura else if (rdFaturados.Checked == true) { //seta idRetornado como 0; var idRetornado = 0; var id = Convert.ToInt32(i); var nao = 0; var t = new iTrabalho(); t.Fatura(id, nao, idRetornado); } // //TESTE DE FUNCIONAMENTO //MessageBox.Show(id + "Selecionado"); } try { //abre formulario com itens da fatura int idFatura = Convert.ToInt32(txtIDFat.Text); //processo concluido agora abre o formulario com a fatura criada frmFatura NovaFatura = new frmFatura(idFatura); NovaFatura.Owner = this; NovaFatura.Show(); } catch { } rastDados(); } } else { MessageBox.Show("Por favor selecione pelo menos um item da lista."); } }