/// <summary> /// Realiza uma cópia profunda do objeto /// </summary> /// <returns></returns> public object Clone() { Mercadoria clonada = new Mercadoria(campos, tabela); clonada.peso = peso; clonada.coeficiente = coeficiente; return clonada; }
/// <summary> /// Encapsula campos de mercadoria em objetos do tipo Mercadoria. /// </summary> /// <param name="campos">Campos a serem encapsulados.</param> /// <returns>Vetor de Mercadoria que encapsula os campos.</returns> private static Mercadoria[] Encapsular(IMercadoriaCampos[] campos, Tabela tabela) { Mercadoria[] mercadorias = new Mercadoria[campos.Length]; for (int i = 0; i < campos.Length; i++) mercadorias[i] = new Mercadoria(campos[i], tabela); return mercadorias; }
public Saquinho(Entidades.Mercadoria.Mercadoria m, double qtd) { quantidade = qtd; mercadoria = m; }
/// <summary> /// Ocorre quando se clica em novo /// </summary> private void cmdNovo_Click(object sender, System.EventArgs e) { Entidades.Mercadoria.Mercadoria mercadoria; int quantidadeCerta; /* Verificar se os campos estão preenchidos */ // Verificar formato if (cmbFormato.SelectedItem == null) { MessageBox.Show( this.ParentForm, "Formato para etiqueta não foi especificado!", "Impressão de etiquetas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cmbFormato.Focus(); return; } // Verificar peso if (txtPeso.Enabled && txtPeso.Double <= 0) { MessageBox.Show( this.ParentForm, "Peso para mercadoria não foi especificado corretamente!", "Impressão de etiquetas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtPeso.Focus(); return; } // Verificar quantidade try { quantidadeCerta = int.Parse(txtQuantidade.Text); } catch (Exception) { MessageBox.Show( this.ParentForm, "Quantidade de etiquetas não foi especificado!", "Impressão de etiquetas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtQuantidade.Focus(); return; } Cursor = Cursors.WaitCursor; #if !DEBUG try #endif { // Remove no caso de alteração if (cmdNovo.Tag != null) { SaquinhoEtiqueta saquinho = (SaquinhoEtiqueta) cmdNovo.Tag; bandeja.Remover(saquinho); } // Adiciona nova mercadoria { mercadoria = txtReferência.Mercadoria; if (mercadoria == null) { mercadoria = new Entidades.Mercadoria.Mercadoria(txtReferência.Referência, Entidades.Tabela.TabelaPadrão); mercadoria.Peso = (txtPeso.Text.Length == 0 ? 0 : double.Parse(txtPeso.Text)); } else if (txtPeso.Enabled) mercadoria.Peso = double.Parse(txtPeso.Text); // Mapear formato para mercadoria if (cmbFormato.Tag != cmbFormato.SelectedItem) MapearEtiquetaMercadoria(); // Inserir na bandeja bandeja.Adicionar( new SaquinhoEtiqueta( mercadoria, quantidadeCerta, (EtiquetaFormato) cmbFormato.SelectedItem)); opçãoImprimir.Enabled = bandeja.Count > 0; // Reposiocionar cursor txtReferência.Txt.Text = ""; cmdNovo.Enabled = false; txtReferência.Txt.Focus(); } } #if !DEBUG catch { MessageBox.Show( this.ParentForm, "Ocorreu um erro ao montar as informações da mercadorias. Por favor, reveja os dados fornecidos", "Impressão de etiquetas", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endif #if !DEBUG finally #endif { Cursor = Cursors.Default; } }
private Mercadoria[] ObterMercadorias(List<string> referências) { Mercadoria[] mercadorias = new Mercadoria[referências.Count]; int x = 0; foreach (string referência in referências) { Mercadoria m = Mercadoria.ObterMercadoriaComCache(referência, tabela); mercadorias[x++] = m; } return mercadorias; }
//// <summary> //// Apartir desse objeto de alteração, constói uma mercadoria! //// </summary> //// <returns></returns> //// public Mercadoria CriarMercadoria() //// { //// MercadoriaCampos campos = new MercadoriaCampos(referencia, //// digito, foradelinha, depeso, peso, Descrição, faixa, grupo, teor); //// Mercadoria m = new Mercadoria(campos, Tabela.TabelaPadrão); //// return m; ////} public static MercadoriaManutenção Criar(Mercadoria m) { MercadoriaManutenção manutenção = new MercadoriaManutenção(); manutenção.Referência = m.Referência; manutenção.Faixa = m.Faixa; manutenção.Teor = m.Teor; manutenção.Peso = m.Peso; manutenção.DePeso = m.DePeso; manutenção.Descrição = m.Descrição; manutenção.digito = m.Dígito; manutenção.Grupo = m.Grupo; manutenção.ForaDeLinha = m.ForaDeLinha; return manutenção; }