ManteExtGrupoColores.cs
1 using sage.ew.interficies;
2 using sage.ew.global;
3 using sage.ew.articulo;
6 using System.Collections.Generic;
7 using System;
8 using System.Linq;
10 
11 namespace sage.addons.offline.Negocio.Mantes
12 {
17  {
18  #region Properties
19 
20  private readonly string tablaExtendida = "CTRL_GCOLO";
21  private readonly int idTabrel = 386;
22  private GrupoColor oGrupoColor;
23  private readonly bool bTallasYColores = false;
24  private List<CamposFiltroExtendido> listaColores = new List<CamposFiltroExtendido>();
25 
26  #endregion Properties
27 
28 
29  #region Constructors
30 
34  public ManteExtGrupoColores(sage.ew.interficies.IMante _mantePrincipal, IManteExtGenericoDA manteExtGenericoDA)
35  : this(manteExtGenericoDA)
36  {
37  this._Mante = _mantePrincipal;
38  }
39 
43  public ManteExtGrupoColores(IManteExtGenericoDA manteExtGenericoDA)
44  : base(manteExtGenericoDA)
45  {
46  bTallasYColores = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_color"));
47  }
48 
49  #endregion Constructors
50 
51 
52  #region Public Methods
53 
58  public override bool _Load()
59  {
60  bool llOk = base._Load();
61 
62  if (llOk && _eBeforeAfter == TipoExecute.After)
63  {
64  if (bTallasYColores)
65  {
66  Dictionary<string, string> loClaves = new Dictionary<string, string>
67  {
68  { "codigo", _manteExtGenericoDA.SQLString(((GrupoColor)this._Mante)._Codigo) }
69  };
70  SoloLecturaOffline(new List<string>() { _manteExtGenericoDA.SQLString(idTabrel) }, tablaExtendida, loClaves);
71 
72  if (((GrupoColor)this._Mante)._Estado == ew.ewbase.ewMante._EstadosMantenimiento.EditandoRegistro)
73  {
74  if (!bSoloLectura)
75  {
76  if (_offlineConfig.CondicionControlMantenimiento(idTabrel))
77  {
78  ControlBorradosOffline(new List<string>() { _manteExtGenericoDA.SQLString(idTabrel) }, tablaExtendida, loClaves);
79 
80  if (bControlBorrados)
81  {
82  listaColores.Clear();
83  if (((GrupoColor)_Mante)._Colores != null && ((GrupoColor)_Mante)._Colores._Items != null)
84  {
85  listaColores = ((GrupoColor)_Mante)._Colores._Items.Select(t => new CamposFiltroExtendido { campo1 = "grupo", valor1 = t._Grupo, campo2 = "color", valor2 = t._Color }).ToList();
86  }
87  }
88  }
89  }
90  }
91 
92  }
93  }
94 
95  return llOk;
96  }
97 
102  public override bool _Save()
103  {
104  bool llOk = base._Save();
105 
106  if (bTallasYColores)
107  {
108  if (_eBeforeAfter == TipoExecute.Before)
109  return true;
110 
111  if (!string.IsNullOrEmpty(((GrupoColor)_Mante)._Codigo))
112  {
113  GestionarColoresBorrados();
114  }
115  }
116 
117  return llOk;
118  }
119 
124  public override bool _Delete()
125  {
126  bool llOk = true;
127 
128  if (((GrupoColor)_Mante)._Estado != ew.ewbase.ewMante._EstadosMantenimiento.EsperandoCodigo && ((GrupoColor)_Mante)._Estado != ew.ewbase.ewMante._EstadosMantenimiento.EntrandoNuevo)
129  {
130  if (oGrupoColor == null)
131  {
132  oGrupoColor = (GrupoColor)_Mante;
133  }
134 
135  llOk = base._Delete();
136 
137  if (!string.IsNullOrEmpty(oGrupoColor._Codigo))
138  {
139  if (_eBeforeAfter == TipoExecute.Before)
140  {
141  if (_offlineConfig.CondicionControlMantenimiento(idTabrel))
142  {
143  if (_offlineConfig.RevisarTablaControlManten(tablaExtendida, oGrupoColor._Codigo))
144  {
145  _offlineConfig.InsertDeleteNet("ARTICULO", oGrupoColor._DataBase, oGrupoColor._Tabla, 1, cEjercicio, $@" where codigo = {_manteExtGenericoDA.SQLString(oGrupoColor._Codigo)}");
146  }
147  _offlineConfig.DeleteTablaControlManten(tablaExtendida, oGrupoColor._Codigo);
148  }
149  }
150  return llOk;
151  }
152  }
153  return true;
154  }
155 
156  #endregion Public Methods
157 
158 
159  #region Private Methods
160 
165  private void GestionarColoresBorrados()
166  {
167  List<CamposFiltroExtendido> newListaColores = new List<CamposFiltroExtendido>();
168 
169  if (((GrupoColor)_Mante)._Colores != null && ((GrupoColor)_Mante)._Colores._Items != null)
170  {
171  newListaColores = ((GrupoColor)_Mante)._Colores._Items.Select(t => new CamposFiltroExtendido { campo1 = "grupo", valor1 = t._Grupo, campo2 = "color", valor2 = t._Color }).ToList();
172 
173  if (bControlBorrados)
174  {
175  string claveTab = "ARTICULO";
176  string newID = _offlineConfig.GenerarRandomId();
177  int newORDEN = _offlineConfig.GetNewOrdenDeleteNet(claveTab);
178 
179  foreach (CamposFiltroExtendido item in listaColores)
180  {
181  if (!newListaColores.Contains(item))
182  {
183  string where = $@" WHERE color = {_manteExtGenericoDA.SQLString(item.valor2)} and grupo = {_manteExtGenericoDA.SQLString(((GrupoColor)_Mante)._Codigo)}";
184  _offlineConfig.InsertDeleteNet(newID, claveTab, "COMUNES", "COLOGRUP", 0, newORDEN, cEjercicio, where);
185  newORDEN++;
186  }
187  }
188  }
189  }
190  }
191 
192  #endregion Private Methods
193  }
194 }
Mantenimiento extendido de grupo de colores en offline
Nueva interficie madre de IMantes y de la que colgara ewMante. Propiedades: _Codigo, _Nombre, _Error_Message. Metodos: _New, Save, _Delete, _Load, _Existe_Registro, _Clonar
Definition: IMantes.cs:17
override string _DataBase
PE-88540 Override de los campos _Tabla y _Database
Definition: clsEwBase.cs:1798
ManteExtGrupoColores(sage.ew.interficies.IMante _mantePrincipal, IManteExtGenericoDA manteExtGenericoDA)
Inicializa una nueva instancia de la clase
override bool _Load()
Se dispara cuando se cargan los datos en el mantenimiento principal
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
ManteExtGrupoColores(IManteExtGenericoDA manteExtGenericoDA)
Inicializa una nueva instancia de la clase
override bool _Delete()
Override de _Delete. Nos sirve para cargar los mantetrel antes de borrar el registro ...
Definition: GrupoColor.cs:64
override bool _Save()
Método que se ejecuta cuando el usuario guarda un grupo
virtual string _Codigo
Valor del campo clave que
Definition: clsEwBase.cs:2513
TipoExecute
Tipos de ejecución de los métodos
Definition: IDocModulos.cs:16
Clase de negocio para la configuración del addon de offline
PE-96303 Clase utilizada para consultar los datos de grupos de colores
Definition: GrupoColor.cs:15
override string _Tabla
PE-88540 Override de los campos _Tabla y _Database
Definition: clsEwBase.cs:1811
Mantenimiento extendido generico en offline
override bool _Delete()
Se dispara cuando se borra un grupo de color