/// <summary> /// Obtiene un elemento del tipo Tela filtrando por Id /// </summary> /// <param name="entityId"></param> /// <returns></returns> public override Tela GetById(long entityId) { Tela tela = null; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); SqlCommand command = new SqlCommand(); command.CommandType = System.Data.CommandType.Text; command.Connection = connection; command.CommandText = string.Format($"SELECT * FROM {table} WHERE id = @id"); command.Parameters.AddWithValue("@id", entityId); SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.Read() == false) { throw new Exception("Customer no encontrada"); } ETipoTela tipoTela = (ETipoTela)Enum.Parse(typeof(ETipoTela), dataReader["tipoTela"].ToString()); EColor color = (EColor)Enum.Parse(typeof(EColor), dataReader["color"].ToString()); tela = new Tela(color, tipoTela, Convert.ToInt32(dataReader["cantidad"]), Convert.ToDateTime(dataReader["fechaIngreso"])); tela.Id = Convert.ToInt32(dataReader["id"]); dataReader.Close(); connection.Close(); return(tela); }
/// <summary> /// Crea el tipo de producto apropiado conforme a lo ingresado en el formulario /// </summary> /// <returns></returns> private void CargarCamposProducto() { ETipoMadera tipoMaderaPrincipal = (ETipoMadera)cmbMaderaPrincipal.SelectedItem; ETipoTela tipoTela = (ETipoTela)cmbTipoTela.SelectedItem; EColor colorTela = (EColor)cmbColorTela.SelectedItem; Madera maderaPrincipal; Tela telaProducto; if (rbTorre.Checked) { maderaPrincipal = new Madera(tipoMaderaPrincipal, EForma.Tablon, Fabrica.CANTIDAD_MADERA_TORRE_PRINCIPAL); telaProducto = new Tela(colorTela, tipoTela, Fabrica.CANTIDAD_TELA_TORRE); EModeloTorre modeloTorre = (EModeloTorre)cmbModeloTorre.SelectedItem; ETipoMadera tipoMaderaColumna = (ETipoMadera)cmbMaderaColumna.SelectedItem; Madera maderaColumna = new Madera(tipoMaderaColumna, EForma.Tubo, 1); if (chkYute.Checked) { int metrosYute = (int)nudCantidadYute.Value; bufferProducto = new Torre(maderaPrincipal, telaProducto, modeloTorre, maderaColumna, metrosYute); } else { bufferProducto = new Torre(maderaPrincipal, telaProducto, modeloTorre, maderaColumna); } } else { maderaPrincipal = new Madera(tipoMaderaPrincipal, EForma.Tablon, Fabrica.CANTIDAD_MADERA_ESTANTE); telaProducto = new Tela(colorTela, tipoTela, Fabrica.CANTIDAD_TELA_ESTANTE); bufferProducto = new Estante(maderaPrincipal, telaProducto, (int)nudCantidadEstantes.Value); } }
/// <summary> /// Obtiene todos los registros de la tabla /// </summary> /// <returns></returns> public override List <Tela> GetAll() { List <Tela> telas = new List <Tela>(); try { SqlConnection connection = new SqlConnection(connectionString); connection.Open(); SqlCommand command = new SqlCommand(); command.CommandType = System.Data.CommandType.Text; command.Connection = connection; command.CommandText = string.Format($"SELECT * FROM {table}"); SqlDataReader dataReader = command.ExecuteReader(); while (dataReader.Read() != false) { ETipoTela tipoTela = (ETipoTela)Enum.Parse(typeof(ETipoTela), dataReader["tipoTela"].ToString()); EColor color = (EColor)Enum.Parse(typeof(EColor), dataReader["color"].ToString()); Tela tela = new Tela(color, tipoTela, Convert.ToInt32(dataReader["cantidad"]), Convert.ToDateTime(dataReader["fechaIngreso"])); tela.Id = Convert.ToInt32(dataReader["id"]); telas.Add(tela); } dataReader.Close(); connection.Close(); } catch (Exception e) { throw new Exception(); } return(telas); }
/// <summary> /// Constructor con parámetros y fecha de ingreso actual /// </summary> /// <param name="color"></param> /// <param name="tipoTela"></param> /// <param name="cantidad"></param> public Tela(EColor color, ETipoTela tipoTela, int cantidad) : this(color, tipoTela, cantidad, DateTime.Now) { }
/// <summary> /// Constructor con parámetros y fecha de ingreso distinta a la actual /// </summary> /// <param name="color"></param> /// <param name="tipoTela"></param> /// <param name="cantidad"></param> /// <param name="fechaIngreso"></param> public Tela(EColor color, ETipoTela tipoTela, int cantidad, DateTime fechaIngreso) : base(cantidad, fechaIngreso) { this.color = color; this.tipoTela = tipoTela; }