diff --git a/GeradorNF/GeradorNF.DAO/AbstractCrud.cs b/GeradorNF/GeradorNF.DAO/AbstractCrud.cs index 4bbcffa..2df68df 100644 --- a/GeradorNF/GeradorNF.DAO/AbstractCrud.cs +++ b/GeradorNF/GeradorNF.DAO/AbstractCrud.cs @@ -26,11 +26,10 @@ public static async Task> GetAll(string entityURL) where E: class return Newtonsoft.Json.JsonConvert.DeserializeObject>(json).ToList(); } else - return null; + throw new Exception(response.RequestMessage.ToString()); } } - public static async Task Add(E entity, string entityURL) where E : class { using (var client = new HttpClient()) diff --git a/GeradorNF/GeradorNF.DAO/ClienteDAO.cs b/GeradorNF/GeradorNF.DAO/ClienteDAO.cs new file mode 100644 index 0000000..c9d480a --- /dev/null +++ b/GeradorNF/GeradorNF.DAO/ClienteDAO.cs @@ -0,0 +1,54 @@ +using GeradorNF.Model; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading.Tasks; + +namespace GeradorNF.DAO +{ + public class ClienteDAO + { + /// + /// GetCliente - Buscar/Listar TODOS os Emitentes + /// + /// + public static async Task GetClienteByIdDAO(string nomeUsuario) + { + try + { + using (var client = new HttpClient()) + { + client.BaseAddress = new Uri(UtilDAO.UrlApi()); + client.DefaultRequestHeaders.Accept.Clear(); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + + HttpResponseMessage response = await client.GetAsync("cliente/" + nomeUsuario); + + if (response.IsSuccessStatusCode) + { + string json = await response.Content.ReadAsStringAsync(); + return Newtonsoft.Json.JsonConvert.DeserializeObject(json); + } + else + throw new Exception(response.RequestMessage.ToString()); + } + } + catch (JsonException ex) + { + throw new Exception("JsonException - Não foi possivel buscar o cliente. Erro: " + ex.Message); + } + catch (HttpRequestException ex) + { + throw new Exception("HttpRequestException - Não foi possivel buscar o cliente. Erro: " + ex.Message); + } + catch (Exception ex) + { + throw new Exception("Exception - Não foi possivel buscar os Emitentes. Erro: " + ex.Message); + } + } + } +} diff --git a/GeradorNF/GeradorNF.DAO/GeradorNF.DAO.csproj b/GeradorNF/GeradorNF.DAO/GeradorNF.DAO.csproj index 4e4469d..8ab1b3c 100644 --- a/GeradorNF/GeradorNF.DAO/GeradorNF.DAO.csproj +++ b/GeradorNF/GeradorNF.DAO/GeradorNF.DAO.csproj @@ -49,6 +49,7 @@ + diff --git a/GeradorNF/GeradorNF.Model/Cliente.cs b/GeradorNF/GeradorNF.Model/Cliente.cs new file mode 100644 index 0000000..21fd26e --- /dev/null +++ b/GeradorNF/GeradorNF.Model/Cliente.cs @@ -0,0 +1,21 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GeradorNF.Model +{ + public class Cliente + { + [JsonProperty("id")] + public int Id { get; set; } + + [JsonProperty("nome")] + public string Nome { get; set; } + + [JsonProperty("email")] + public string Email { get; set; } + } +} diff --git a/GeradorNF/GeradorNF.Model/Destinatario.cs b/GeradorNF/GeradorNF.Model/Destinatario.cs index 91d2a71..184743f 100644 --- a/GeradorNF/GeradorNF.Model/Destinatario.cs +++ b/GeradorNF/GeradorNF.Model/Destinatario.cs @@ -59,5 +59,8 @@ public class Destinatario [JsonProperty("data_cadastro")] public DateTime DataCadastro { get; set; } + + [JsonProperty("cliente")] + public string Cliente { get; set; } } } diff --git a/GeradorNF/GeradorNF.Model/Emitente.cs b/GeradorNF/GeradorNF.Model/Emitente.cs index 69e6252..ab9dd75 100644 --- a/GeradorNF/GeradorNF.Model/Emitente.cs +++ b/GeradorNF/GeradorNF.Model/Emitente.cs @@ -65,5 +65,8 @@ public class Emitente [JsonProperty("data_cadastro")] public DateTime DataCadastro { get; set; } + + [JsonProperty("cliente")] + public string Cliente { get; set; } } } diff --git a/GeradorNF/GeradorNF.Model/GeradorNF.Model.csproj b/GeradorNF/GeradorNF.Model/GeradorNF.Model.csproj index 4f68ae4..b7bcd7d 100644 --- a/GeradorNF/GeradorNF.Model/GeradorNF.Model.csproj +++ b/GeradorNF/GeradorNF.Model/GeradorNF.Model.csproj @@ -44,6 +44,7 @@ + diff --git a/GeradorNF/GeradorNF.Model/Produto.cs b/GeradorNF/GeradorNF.Model/Produto.cs index dd0fb45..fbd4039 100644 --- a/GeradorNF/GeradorNF.Model/Produto.cs +++ b/GeradorNF/GeradorNF.Model/Produto.cs @@ -32,5 +32,8 @@ public class Produto [JsonProperty("data_cadastro")] public DateTime DataCadastro { get; set; } + + [JsonProperty("cliente")] + public string Cliente { get; set; } } } diff --git a/GeradorNF/GeradorNF.Model/Transportador.cs b/GeradorNF/GeradorNF.Model/Transportador.cs index 93af03a..cbd05be 100644 --- a/GeradorNF/GeradorNF.Model/Transportador.cs +++ b/GeradorNF/GeradorNF.Model/Transportador.cs @@ -41,5 +41,8 @@ public class Transportador [JsonProperty("data_cadastro")] public DateTime DataCadastro { get; set; } + + [JsonProperty("cliente")] + public string Cliente { get; set; } } } diff --git a/GeradorNF/GeradorNF.UI/GeradorNF.UI.csproj b/GeradorNF/GeradorNF.UI/GeradorNF.UI.csproj index ba71f24..3a03f44 100644 --- a/GeradorNF/GeradorNF.UI/GeradorNF.UI.csproj +++ b/GeradorNF/GeradorNF.UI/GeradorNF.UI.csproj @@ -68,6 +68,12 @@ frmGeradorArquivo.cs + + Form + + + frmLogin.cs + Form @@ -86,6 +92,7 @@ frmTransporador.cs + @@ -98,6 +105,9 @@ frmGeradorArquivo.cs + + frmLogin.cs + frmPrincipal.cs diff --git a/GeradorNF/GeradorNF.UI/MyGlobals.cs b/GeradorNF/GeradorNF.UI/MyGlobals.cs new file mode 100644 index 0000000..8d08f0a --- /dev/null +++ b/GeradorNF/GeradorNF.UI/MyGlobals.cs @@ -0,0 +1,14 @@ +using GeradorNF.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GeradorNF.UI +{ + public static class MyGlobals + { + public static string Cliente = "https://geradornf-prod.herokuapp.com/cliente/1/"; //hardcode - Tirar + } +} diff --git a/GeradorNF/GeradorNF.UI/Program.cs b/GeradorNF/GeradorNF.UI/Program.cs index 7f52d66..e1b4b6b 100644 --- a/GeradorNF/GeradorNF.UI/Program.cs +++ b/GeradorNF/GeradorNF.UI/Program.cs @@ -16,7 +16,7 @@ static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new frmPrincipal()); + Application.Run(new frmLogin()); } } } diff --git a/GeradorNF/GeradorNF.UI/frmEmitente.Designer.cs b/GeradorNF/GeradorNF.UI/frmEmitente.Designer.cs index cb2af62..5d2885b 100644 --- a/GeradorNF/GeradorNF.UI/frmEmitente.Designer.cs +++ b/GeradorNF/GeradorNF.UI/frmEmitente.Designer.cs @@ -28,7 +28,7 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.txtIdEmitente = new System.Windows.Forms.TextBox(); this.lblIdEmitente = new System.Windows.Forms.Label(); @@ -369,6 +369,7 @@ private void InitializeComponent() this.btnFiltro.TabIndex = 62; this.btnFiltro.Text = "Filtrar"; this.btnFiltro.UseVisualStyleBackColor = true; + this.btnFiltro.Click += new System.EventHandler(this.btnFiltro_Click); // // btnExcluir // @@ -424,8 +425,8 @@ private void InitializeComponent() this.dataGridEmitente.AllowUserToDeleteRows = false; this.dataGridEmitente.AllowUserToOrderColumns = true; this.dataGridEmitente.AllowUserToResizeRows = false; - dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); - this.dataGridEmitente.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); + this.dataGridEmitente.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this.dataGridEmitente.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); diff --git a/GeradorNF/GeradorNF.UI/frmEmitente.cs b/GeradorNF/GeradorNF.UI/frmEmitente.cs index d69b6b2..52e2000 100644 --- a/GeradorNF/GeradorNF.UI/frmEmitente.cs +++ b/GeradorNF/GeradorNF.UI/frmEmitente.cs @@ -157,6 +157,7 @@ private async void SetEmitente(Enuns.TipoCrud tipoCrud) emitente.Logradouro = txtEndereco.Text; emitente.NumeroCasa = txtNumero.Text; emitente.UF = txtEstado.Text; + emitente.Cliente = MyGlobals.Cliente; #endregion HttpResponseMessage response = new HttpResponseMessage(); @@ -329,5 +330,10 @@ private void btnEditar_Click(object sender, EventArgs e) lblAcao.Text = "editar"; txtNomeRazao.Focus(); } + + private void btnFiltro_Click(object sender, EventArgs e) + { + + } } } \ No newline at end of file diff --git a/GeradorNF/GeradorNF.UI/frmLogin.Designer.cs b/GeradorNF/GeradorNF.UI/frmLogin.Designer.cs new file mode 100644 index 0000000..940b3f0 --- /dev/null +++ b/GeradorNF/GeradorNF.UI/frmLogin.Designer.cs @@ -0,0 +1,124 @@ +namespace GeradorNF.UI +{ + partial class frmLogin + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.txtUsuario = new System.Windows.Forms.TextBox(); + this.txtSenha = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.btnEntrar = new System.Windows.Forms.Button(); + this.btnCancelar = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(53, 26); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(46, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Usuario:"; + // + // txtUsuario + // + this.txtUsuario.Location = new System.Drawing.Point(105, 23); + this.txtUsuario.Name = "txtUsuario"; + this.txtUsuario.Size = new System.Drawing.Size(151, 20); + this.txtUsuario.TabIndex = 1; + // + // txtSenha + // + this.txtSenha.Location = new System.Drawing.Point(105, 49); + this.txtSenha.Name = "txtSenha"; + this.txtSenha.PasswordChar = '*'; + this.txtSenha.Size = new System.Drawing.Size(151, 20); + this.txtSenha.TabIndex = 3; + this.txtSenha.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSenha_KeyPress); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(58, 52); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(41, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Senha:"; + // + // btnEntrar + // + this.btnEntrar.Location = new System.Drawing.Point(20, 84); + this.btnEntrar.Name = "btnEntrar"; + this.btnEntrar.Size = new System.Drawing.Size(127, 24); + this.btnEntrar.TabIndex = 4; + this.btnEntrar.Text = "Entrar"; + this.btnEntrar.UseVisualStyleBackColor = true; + this.btnEntrar.Click += new System.EventHandler(this.btnEntrar_Click); + // + // btnCancelar + // + this.btnCancelar.Location = new System.Drawing.Point(153, 84); + this.btnCancelar.Name = "btnCancelar"; + this.btnCancelar.Size = new System.Drawing.Size(127, 24); + this.btnCancelar.TabIndex = 5; + this.btnCancelar.Text = "Cancelar"; + this.btnCancelar.UseVisualStyleBackColor = true; + this.btnCancelar.Click += new System.EventHandler(this.btnCancelar_Click); + // + // frmLogin + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(312, 143); + this.Controls.Add(this.btnCancelar); + this.Controls.Add(this.btnEntrar); + this.Controls.Add(this.txtSenha); + this.Controls.Add(this.label2); + this.Controls.Add(this.txtUsuario); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "frmLogin"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Login"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtUsuario; + private System.Windows.Forms.TextBox txtSenha; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnEntrar; + private System.Windows.Forms.Button btnCancelar; + } +} \ No newline at end of file diff --git a/GeradorNF/GeradorNF.UI/frmLogin.cs b/GeradorNF/GeradorNF.UI/frmLogin.cs new file mode 100644 index 0000000..0a4f63b --- /dev/null +++ b/GeradorNF/GeradorNF.UI/frmLogin.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace GeradorNF.UI +{ + public partial class frmLogin : Form + { + public frmLogin() + { + InitializeComponent(); + } + + private void btnCancelar_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void btnEntrar_Click(object sender, EventArgs e) + { + FazerLogin(); + } + + private void txtSenha_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == 13) + FazerLogin(); + } + + private void FazerLogin() + { + if (txtSenha.Text.Equals("teste") && txtSenha.Text.Equals("teste")) + { + frmPrincipal frmPrincipal = new frmPrincipal(); + frmLogin frmLogin = new UI.frmLogin(); + frmLogin.Hide(); + frmPrincipal.Show(); + } + // else if para login com conta normal + else + { + MessageBox.Show("Usuario ou senha inválidos", "Erro login", MessageBoxButtons.OK, MessageBoxIcon.Stop); + txtUsuario.Focus(); + } + } + } +} diff --git a/GeradorNF/GeradorNF.UI/frmLogin.resx b/GeradorNF/GeradorNF.UI/frmLogin.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/GeradorNF/GeradorNF.UI/frmLogin.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/GeradorNF/GeradorNF.UI/frmPrincipal.Designer.cs b/GeradorNF/GeradorNF.UI/frmPrincipal.Designer.cs index 6d212e6..a596643 100644 --- a/GeradorNF/GeradorNF.UI/frmPrincipal.Designer.cs +++ b/GeradorNF/GeradorNF.UI/frmPrincipal.Designer.cs @@ -78,8 +78,9 @@ private void InitializeComponent() // sairToolStripMenuItem // this.sairToolStripMenuItem.Name = "sairToolStripMenuItem"; - this.sairToolStripMenuItem.Size = new System.Drawing.Size(104, 22); + this.sairToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.sairToolStripMenuItem.Text = "&Sair"; + this.sairToolStripMenuItem.Click += new System.EventHandler(this.sairToolStripMenuItem_Click); // // menuToolStripMenuItem // @@ -137,6 +138,7 @@ private void InitializeComponent() this.Name = "frmPrincipal"; this.Text = "Gerador de NF-e Simples"; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmPrincipal_FormClosing); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.ResumeLayout(false); diff --git a/GeradorNF/GeradorNF.UI/frmPrincipal.cs b/GeradorNF/GeradorNF.UI/frmPrincipal.cs index a503c80..19932f8 100644 --- a/GeradorNF/GeradorNF.UI/frmPrincipal.cs +++ b/GeradorNF/GeradorNF.UI/frmPrincipal.cs @@ -51,5 +51,15 @@ private void gerarArquivoToolStripMenuItem_Click(object sender, EventArgs e) frm.MdiParent = this; frm.Show(); } + + private void frmPrincipal_FormClosing(object sender, FormClosingEventArgs e) + { + Application.Exit(); + } + + private void sairToolStripMenuItem_Click(object sender, EventArgs e) + { + Application.Exit(); + } } } diff --git a/GeradorNF/GeradorNF.UI/frmProduto.Designer.cs b/GeradorNF/GeradorNF.UI/frmProduto.Designer.cs index 16418b0..aee827f 100644 --- a/GeradorNF/GeradorNF.UI/frmProduto.Designer.cs +++ b/GeradorNF/GeradorNF.UI/frmProduto.Designer.cs @@ -28,7 +28,7 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.btnEditar = new System.Windows.Forms.Button(); this.txtUnidade = new System.Windows.Forms.MaskedTextBox(); this.txtValorUnitario = new System.Windows.Forms.TextBox(); @@ -67,6 +67,7 @@ private void InitializeComponent() this.btnEditar.TabIndex = 62; this.btnEditar.Text = "Editar"; this.btnEditar.UseVisualStyleBackColor = true; + this.btnEditar.Click += new System.EventHandler(this.btnEditar_Click); // // txtUnidade // @@ -145,8 +146,8 @@ private void InitializeComponent() this.dataGridProduto.AllowUserToDeleteRows = false; this.dataGridProduto.AllowUserToOrderColumns = true; this.dataGridProduto.AllowUserToResizeRows = false; - dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); - this.dataGridProduto.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); + this.dataGridProduto.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2; this.dataGridProduto.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); @@ -157,6 +158,7 @@ private void InitializeComponent() this.dataGridProduto.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.dataGridProduto.Size = new System.Drawing.Size(474, 220); this.dataGridProduto.TabIndex = 64; + this.dataGridProduto.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridProduto_CellClick); // // btnSalvar // @@ -276,6 +278,7 @@ private void InitializeComponent() this.btnExcluir.TabIndex = 63; this.btnExcluir.Text = "Excluir"; this.btnExcluir.UseVisualStyleBackColor = true; + this.btnExcluir.Click += new System.EventHandler(this.btnExcluir_Click); // // groupBox1 // diff --git a/GeradorNF/GeradorNF.UI/frmProduto.cs b/GeradorNF/GeradorNF.UI/frmProduto.cs index 950325c..fb5cad2 100644 --- a/GeradorNF/GeradorNF.UI/frmProduto.cs +++ b/GeradorNF/GeradorNF.UI/frmProduto.cs @@ -65,7 +65,7 @@ private void VerificaSePrimeiroRegistro() private bool VerificarCamposObrigatorios() { - bool _return; + bool _return = true; if (string.IsNullOrEmpty(txtValorUnitario.Text)) { @@ -77,14 +77,29 @@ private bool VerificarCamposObrigatorios() _return = false; MessageBox.Show("Decrição do produto é obrigatório ou é menor que 3 caracteres!"); } - else if (Convert.ToDecimal(txtValorUnitario.Text) <= 0) + else if (txtValorUnitario.Text != string.Empty) { - _return = false; - MessageBox.Show("Valor unitário não pode ser zero ou negativo."); - } - else - { - _return = true; + try + { + decimal valorUnitario = Convert.ToDecimal(txtValorUnitario.Text); + + if (valorUnitario <= 0) + { + MessageBox.Show("Valor unitário não pode ser zero ou negativo."); + _return = false; + } + } + catch (FormatException ex) + { + MessageBox.Show("Verifique se digitou numeros válidos no campo Valor Unitario!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); + txtValorUnitario.Focus(); + _return = false; + } + catch(Exception ex) + { + _return = false; + MessageBox.Show("Erro: " + ex.Message); + } } return _return; @@ -106,6 +121,7 @@ private async void SetProduto(Enuns.TipoCrud tipoCrud) produto.NCM = Convert.ToInt32(txtNCM.Text); produto.Unidade = txtUnidade.Text; produto.ValorUnitario = Convert.ToDecimal(txtValorUnitario.Text); + produto.Cliente = MyGlobals.Cliente; #endregion @@ -125,17 +141,36 @@ private async void SetProduto(Enuns.TipoCrud tipoCrud) } } - //else if (tipoCrud.Equals(Enuns.TipoCrud.update)) - //{ - // produto.ProdutoId = int.Parse(txtIdProduto.Text); - // ProdutoBLL.AtualizarProduto(produto); - - //} - //else if (tipoCrud.Equals(Enuns.TipoCrud.delete)) - //{ - // produto.ProdutoId = int.Parse(txtIdProduto.Text); - // ProdutoBLL.ExcluirProduto(produto); - //} + else if (tipoCrud.Equals(Enuns.TipoCrud.update)) + { + + produto.Id = int.Parse(txtIdProduto.Text); + response = await ProdutoBLL.AtualizarProdutoBLL(produto); + + if (response.IsSuccessStatusCode) + { + MessageBox.Show("Produto " + mensagemCrud + " com sucesso!", "Produto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + else + { + MessageBox.Show("Ocorreu um erro ao " + mensagemException + " o produto! \nErro: " + response.RequestMessage, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + else if (tipoCrud.Equals(Enuns.TipoCrud.delete)) + { + produto.Id = int.Parse(txtIdProduto.Text); + response = await ProdutoBLL.DeletarProdutoBLL(produto.Id); + + if (response.IsSuccessStatusCode) + { + MessageBox.Show("Produto " + mensagemCrud + " com sucesso!", "Produto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + else + { + MessageBox.Show("Ocorreu um erro ao " + mensagemException + " o produto! \nErro: " + response.RequestMessage, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } else { MessageBox.Show("Erro ao fazer operação no Produto"); @@ -174,5 +209,45 @@ private void frmProduto_Load(object sender, EventArgs e) { PreencherGrid(); } + + private void btnEditar_Click(object sender, EventArgs e) + { + btnSalvar.Enabled = true; + DesbloquearCampos(true); + lblAcao.Text = "Editar"; + txtDescricao.Focus(); + } + + private void dataGridProduto_CellClick(object sender, DataGridViewCellEventArgs e) + { + + txtIdProduto.Text = dataGridProduto[0, dataGridProduto.CurrentRow.Index].Value.ToString(); + txtCFOP.Text = dataGridProduto[1, dataGridProduto.CurrentRow.Index].Value.ToString(); + txtEAN.Text = dataGridProduto[2, dataGridProduto.CurrentRow.Index].Value.ToString(); + txtNCM.Text = dataGridProduto[3, dataGridProduto.CurrentRow.Index].Value.ToString(); + txtDescricao.Text = dataGridProduto[4, dataGridProduto.CurrentRow.Index].Value.ToString(); + txtUnidade.Text = dataGridProduto[5, dataGridProduto.CurrentRow.Index].Value.ToString(); + txtValorUnitario.Text = dataGridProduto[6, dataGridProduto.CurrentRow.Index].Value.ToString(); + + btnEditar.Enabled = true; + btnExcluir.Enabled = true; + + DesbloquearCampos(false); + } + + private void btnExcluir_Click(object sender, EventArgs e) + { + try + { + if (MessageBox.Show("Deseja excluir esse Produto?", "Exluir", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + { + SetProduto(Enuns.TipoCrud.delete); + } + } + catch (Exception ex) + { + MessageBox.Show("Erro ao excluir: Erro " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } } } diff --git a/GeradorNF/GeradorNF.UI/frmTransporador.cs b/GeradorNF/GeradorNF.UI/frmTransporador.cs index 119cdc4..f2af7fe 100644 --- a/GeradorNF/GeradorNF.UI/frmTransporador.cs +++ b/GeradorNF/GeradorNF.UI/frmTransporador.cs @@ -73,6 +73,7 @@ private async void SetTranportadora(Enuns.TipoCrud tipoCrud) transportador.NomeRazao = txtNomeRazao.Text; transportador.UF = txtEstado.Text; transportador.CEP = txtCEP.Text; + transportador.Cliente = MyGlobals.Cliente; #endregion