2 using System.Collections.Generic;
9 using System.ComponentModel;
26 public override string _Codigo
35 if (_lisCampos.ContainsKey(
"CODIGO"))
37 _lisCampos[
"CODIGO"]._NewVal = value;
47 public Int32 _ColorFondo
51 return _lisCampos.ContainsKey(
"BACKCOLOR") ? _TranslateColor(_lisCampos[
"BACKCOLOR"]._NewVal.ToString()) : 0;
55 if (_lisCampos.ContainsKey(
"BACKCOLOR"))
57 _lisCampos[
"BACKCOLOR"]._NewVal = value;
66 public Int32 _ColorFuente
70 return _lisCampos.ContainsKey(
"FORECOLOR") ? _TranslateColor(_lisCampos[
"FORECOLOR"]._NewVal.ToString()) : 0;
74 if (_lisCampos.ContainsKey(
"FORECOLOR"))
76 _lisCampos[
"FORECOLOR"]._NewVal = value;
90 if (_lisCampos.ContainsKey(
"FONTTPV"))
91 return _lisCampos[
"FONTTPV"]._NewVal.ToString();
97 if (_lisCampos.ContainsKey(
"FONTTPV"))
99 _lisCampos[
"FONTTPV"]._NewVal = value;
112 if (_lisCampos.ContainsKey(
"FOTO"))
113 return _lisCampos[
"FOTO"]._NewVal.ToString();
119 if (_lisCampos.ContainsKey(
"FOTO"))
121 _lisCampos[
"FOTO"]._NewVal = value;
130 public BindingList<ArticulosClasifica> _Articulos =
new BindingList<ArticulosClasifica>();
132 private string _cDatabaseDetalle =
"COMUNES";
133 private string _cTablaDetalle =
"ART_CLASIF";
138 private List<string> _ArticulosClasif =
new List<string>();
140 #endregion Propiedades 142 #region Constructores 150 this._Clave =
"CODIGO";
151 this._DataBase =
"COMUNES";
152 this._Tabla =
"CLASIF";
153 this._TituloMantenimiento =
"Mantenimiento de clasificaciones";
154 this._Pregunta_Borrar =
"¿Desea eliminar el registro?";
155 this._Pantalla =
"CLASIFICA";
159 #endregion Constructores 167 string lcSql =
string.Empty;
173 #region Recuperación del detalle 178 loDt =
new DataTable();
179 if (!
string.IsNullOrEmpty(_Codigo))
181 lcSql = $
"SELECT * FROM {DB.SQLDatabase(_cDatabaseDetalle, _cTablaDetalle) } WHERE CLASIF = { DB.SQLString(_Codigo) }";
183 if (DB.SQLExec(lcSql, ref loDt) && loDt.Rows.Count > 0)
186 foreach (DataRow ldrArticuloClasificado
in loDt.Rows)
192 FUNCTIONS._DisposeDatatable(loDt);
195 _ArticulosClasif = _Articulos.Select(f => f._Articulo.Trim()).ToList();
197 #endregion Recuperación del detalle 207 base._DescargarDatos();
209 _ArticulosClasif.Clear();
219 private int _TranslateColor(
string tcColor)
223 if (!Int32.TryParse(tcColor, out lnColor) && !String.IsNullOrWhiteSpace(tcColor))
225 Color loColor = Name_To_Color(tcColor);
226 lnColor =
System.Drawing.ColorTranslator.ToWin32(loColor);
238 private Color Name_To_Color(
string tcNomColor)
243 if (tcNomColor.Substring(0, 1) ==
"#")
244 loColor = ColorTranslator.FromHtml(tcNomColor);
246 loColor = Color.FromName(tcNomColor.Trim());
261 llOk = base._Delete();
264 string lcSql =
string.Empty;
265 lcSql =
"DELETE FROM " + DB.SQLDatabase(_DataBase, _Tabla) +
" " +
266 "WHERE CODIGO = " + DB.SQLString(this._Codigo) +
" ";
267 llOk = DB.SQLExec(lcSql);
270 lcSql =
"DELETE FROM " + DB.SQLDatabase(_cDatabaseDetalle, _cTablaDetalle ) +
" " +
271 "WHERE CLASIF = " + DB.SQLString(this._Codigo) +
" ";
272 llOk = llOk && DB.SQLExec(lcSql);
284 ArticulosClasifica loRegBlanco = _Articulos.Where(x =>
string.IsNullOrWhiteSpace(x._Articulo)).FirstOrDefault();
285 if (loRegBlanco != null)
286 _Articulos.Remove(loRegBlanco);
288 List<ArticulosClasifica> loInvalidos =
new List<ArticulosClasifica>();
290 foreach(
string lcArticulosClasifica
in _ArticulosClasif)
292 if(!_Articulos.Any(f=>f._Articulo.Trim() == lcArticulosClasifica.Trim()))
301 if (!
string.IsNullOrWhiteSpace(loArticuloClasificado.
_Articulo))
307 if (!_ArticulosClasif.Contains(loArticuloClasificado.
_Articulo.Trim()))
309 if (!loArticuloClasificado.
_Save())
324 #region Propiedades públicas 329 public bool IsNew {
get;
set; } =
true;
334 public string _Articulo
336 get {
return _cArticulo; }
340 if (!
string.IsNullOrWhiteSpace(_cArticulo))
346 else _cNombre =
string.Empty;
349 private string _cArticulo =
string.Empty;
354 public string _Nombre
356 get {
return _cNombre; }
359 private string _cNombre =
string.Empty;
361 #endregion Propiedades públicas 363 #region Propiedades privadas 370 #endregion Propiedades privadas 372 #region Constructores 389 _oClasificacion = toClasificacion;
391 this._Articulo = tcArticulo;
402 _oClasificacion = toClasificacion;
408 _Articulo = Convert.ToString(tdrRow[
"ARTICULO"]);
412 #endregion Constructores 422 string lcSql =
string.Empty;
427 lcSql =
string.Format(
"INSERT INTO {0} (ARTICULO, CLASIF, CREATED, MODIFIED) Values({1}, {2}, {3}, {3})", DB.SQLDatabase(
"COMUNES",
"ART_CLASIF"), DB.SQLString(_cArticulo), DB.SQLString(this._oClasificacion.
_Codigo), DB.SQLString(DateTime.Now));
431 lcSql = $
"UPDATE { DB.SQLDatabase("COMUNES
", "ART_CLASIF
") } SET MODIFIED = {DB.SQLString(DateTime.Now)} WHERE ARTICULO = {DB.SQLString(_cArticulo)} AND CLASIF = {DB.SQLString(this._oClasificacion._Codigo)}";
435 return DB.SQLExec(lcSql);
444 string lcSql =
string.Empty;
445 DataTable ldtResult =
new DataTable();
449 lcSql =
"SELECT ARTICULO, CLASIF " +
450 "FROM " + DB.SQLDatabase(
"COMUNES",
"ART_CLASIF") +
" " +
451 "WHERE CLASIF = " + DB.SQLString(this._oClasificacion.
_Codigo) +
" ";
454 llOk = DB.SQLExec(lcSql, ref ldtResult);
455 if (llOk && ldtResult.Rows.Count > 0)
457 this._Articulo = Convert.ToString(ldtResult.Rows[0][
"ARTICULO"]);
469 string lcSql =
string.Empty;
472 lcSql =
"DELETE FROM " + DB.SQLDatabase(
"COMUNES",
"ART_CLASIF") +
" " +
473 "WHERE CLASIF = " + DB.SQLString(this._oClasificacion.
_Codigo) +
" " +
474 "AND ARTICULO = " + DB.SQLString(this._Articulo) +
" ";
476 return DB.SQLExec(lcSql);
Clase para administrar el detalle de artículos clasificados
Clase de negocio base para mantenimientos
string _Articulo
Código de artículo
override void _Load()
Override del _Load
Clase de clasificaciones de artículos
override void _DescargarDatos()
Descargar datos
bool _Save()
Método para guardar artículos clasificados
bool _Load()
Método para cargar detalle de clasificaciones
override bool _Delete()
Elimina una clasificación Registro de la tabla COMUNES.CLASIF Detalle de la tabla COMUNES...
virtual string _Nombre
Campo nombre del mantenimiento. En este hay que basar los demás campos en las clases heredadas ...
bool _Delete()
Método para eliminar linealmente artículos clasificados
override string _Codigo
Override del código
override bool _Save()
Guarda los artículos de la clasificación (en la tabla COMUNES.ART_CLASIF)
ArticulosClasifica()
Constructor por defecto
ArticulosClasifica(ClasificacionArticulos toClasificacion, string tcArticulo)
Constructor a partir de la clase y el código de artículo
override void _Load()
Load
ArticulosClasifica(ClasificacionArticulos toClasificacion, DataRow tdrRow=null)
Constructor que nos permite inicializar el objeto ArticulosClasifica a partir de un datarow de la tab...
ClasificacionArticulos()
Constructor con parámetros