2 using System.Collections.Generic;
6 using System.ComponentModel;
11 using System.Windows.Forms;
13 using System.ComponentModel.DataAnnotations;
27 public bool _EnUso =
false;
32 private String _cCodigoEmpresa = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa"));
53 [DisplayName(
"CODIGO")]
54 public override string _Codigo
63 base._Codigo = (! String.IsNullOrEmpty(value) ? value.ToString().PadLeft(2,
'0') : value);
70 public String _EstadoDefecto
74 return (from loEstado in _EstadosTipo._Items
75 where loEstado._EstadoDefecto
76 select loEstado._Estado).FirstOrDefault();
83 public String _EstadoCierre
87 return (from loEstado in _EstadosTipo._Items
88 where loEstado._EstadoCierre
89 select loEstado._Estado).FirstOrDefault();
100 if (_oReportTemplates == null)
105 return _oReportTemplates;
116 if (_oListCamposAdicionales == null || _oListCamposAdicionales.
_GetCodigo() != this._Codigo)
119 _oListCamposAdicionales.
_Load();
122 return _oListCamposAdicionales;
126 _oListCamposAdicionales = value;
133 public EstadosTipo _EstadosTipo
137 if (_oEstadosTipo == null)
140 _oEstadosTipo.
_Load();
144 if (Convert.ToString(_oEstadosTipo.
_Claves._TipoServicio._Valor) != _Codigo)
146 _oEstadosTipo.
_Claves._TipoServicio._Valor = _Codigo;
147 _oEstadosTipo.
_Load();
150 _AddManteTRel(_oEstadosTipo);
152 return _oEstadosTipo;
156 private void Inicializar()
159 this._Clave =
"Codigo";
160 this._DataBase =
"SERVICES";
161 this._Tabla =
"tiposerv";
162 this._TituloMantenimiento =
"Mantenimiento de Tipo de Servicios";
164 this._Pantalla =
"tiposerv";
165 this._FormManteBaseType = typeof(Visual.Forms.frmTipoServicio);
167 this._Codigo =
string.Empty;
173 _oReportTemplates = null;
180 _ListCamposAdicionales._Save();
181 _ReportTemplates._Save();
191 private Boolean _CanDelete()
193 DataTable ldtInf =
new DataTable();
194 String lcSql, lcMensaje = String.Empty;
198 lcSql = String.Format(
"SELECT COUNT(*) AS registros, Max(NUMERO) FROM {0} WHERE TIPOSERV = '" + _Codigo +
"'", DB.SQLDatabase(
"SERVICES",
"C_SERVICIOS"));
199 DB.SQLExec(lcSql, ref ldtInf);
201 List<DataRow> loInf = ldtInf.AsEnumerable().Where(y => y.Field<Int32>(
"registros") != 0).ToList();
203 if (loInf.Count > 0 )
205 for (
int lnInd = 0; lnInd < loInf.Count(); lnInd++)
207 if (!
string.IsNullOrWhiteSpace(lcMensaje)) lcMensaje = lcMensaje +
" y ";
208 lcMensaje = lcMensaje + Convert.ToString(loInf[lnInd][1]);
211 _Error_Message =
"Este código de tipo de servicio está asignado al servicio número " + lcMensaje.Trim() +
". No se puede borrar el tipo de servicio.";
214 return String.IsNullOrEmpty(_Error_Message);
218 #region ISageReportsFilterProvider 228 Dictionary<string, object> loDicResult;
230 if( tdicParametros is Dictionary<string, object> && tdicParametros.ContainsKey(
"CamposAdicionales") && !Convert.ToBoolean(tdicParametros.ContainsKey(
"CamposAdicionales")))
232 loDicResult =
new Dictionary<String, object>();
236 loDicResult = _ListCamposAdicionales._Obtener_Filtros_SageReports();
239 if (tdicParametros is Dictionary<string, object> && tdicParametros.ContainsKey(
"ParamKey"))
241 lcTipo = Convert.ToString(tdicParametros[
"ParamKey"]).Trim();
244 loDicResult.Add(String.Format(
"wc_CodigoTipoServicio{0}", lcTipo), _Codigo);
245 loDicResult.Add(String.Format(
"wc_NombreTipoServicio{0}", lcTipo), _Nombre);
250 #endregion ISageReportsFilterProvider 254 return _GetEstado(_EstadoDefecto, SERVICES._ServicesConfig._EstadoDefecto);
259 return _GetEstado(_EstadoCierre, SERVICES._ServicesConfig._EstadoCierre);
262 private String _GetEstado(String tcEstado, String tcEstadoConfig)
264 String lcEstadoDefecto =
"";
266 if (!String.IsNullOrEmpty(tcEstado))
268 lcEstadoDefecto = tcEstado;
270 else if (!String.IsNullOrEmpty(tcEstadoConfig))
272 lcEstadoDefecto = tcEstadoConfig;
275 return lcEstadoDefecto;
280 if (_EstadosTipo.Count() > 0 && !String.IsNullOrEmpty(_Codigo))
282 tcCondicionDefecto = String.Format(
" CODIGO IN (SELECT ESTADO FROM {0} WHERE TIPO_SER = {1} AND EMPRESA = {2}) ", DB.SQLDatabase(_DataBase,
"SERV_EST"), DB.SQLString(_Codigo), DB.SQLString(EW_GLOBAL._GetVariable(
"wc_empresa")));
285 return tcCondicionDefecto;
299 _ListCamposAdicionales._Delete();
300 _ReportTemplates._Delete();
326 this._Codigo = tcCodigo;
351 this._Claves._TipoServicio._Valor = tcCodigoTipoServicio;
354 private void CrearEstructura()
357 this._DataBase =
"SERVICES";
358 this._Tabla =
"SERV_EST";
375 loDefEstado.
_Error_Validar_Dato =
"El estado relacionado en el tipo de servicio no existe en el mantenimiento de estados";
378 loDefEstado.
_Browser._Campos =
"Codigo, Nombre";
379 loDefEstado.
_Browser._Campo_Predet =
"Nombre";
380 loDefEstado.
_Browser._Clave =
"Codigo";
381 loDefEstado.
_Browser._DataBase =
"SERVICES";
382 loDefEstado.
_Browser._Tabla =
"ESTSERV";
383 loDefEstado.
_Browser._Titulo =
"Listado de estados";
384 loDefEstado.
_Browser._Titulos_Campos =
"Código, Nombre";
385 loDefEstado.
_Browser.NombreMantenimiento =
"ESTSERV";
389 loDefEstado.
_Mante._NombreManteNet =
"ESTSERV";
426 _TipoServicio._EsFiltro =
true;
429 _Empresa._EsFiltro =
true;
432 _Linea._EsCampoLinea =
true;
433 _Linea._EsFiltro =
false;
436 _TipoServicio._Valor =
"";
437 _Empresa._Valor = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa"));
448 private Int32 _nLinea;
450 private String _cNombre =
"";
451 private String _cEstado =
"";
452 private String _cEmpresa =
"";
453 private String _cTipoServicio =
"";
454 private Boolean _bDefecto =
false;
455 private Boolean _bCierre =
false;
460 public String _TipoServicio
464 return _cTipoServicio;
468 _cTipoServicio = value;
475 public String _Empresa
490 public String _Estado
495 return _cEstado.Trim();
499 if (_cEstado != value)
502 if (_oParent != null)
529 public String _Nombre
541 public Boolean _EstadoDefecto
549 if (value) _oParent._DesmarcaEstadosDefecto();
554 public Boolean _EstadoCierre
562 if (value) _oParent._DesmarcaEstadoCierre();
570 public object _Parent
587 _cEmpresa = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa"));
596 return !String.IsNullOrEmpty(_Estado.Trim());
600 private void _DesmarcaEstadosDefecto()
602 _Items.ToList().ForEach(f => f._EstadoDefecto =
false);
605 private void _DesmarcaEstadoCierre()
607 _Items.ToList().ForEach(f => f._EstadoCierre =
false);
617 tcEstado = tcEstado.Trim();
619 return (from loItem in _Items
620 where loItem._Estado.Trim() == tcEstado
621 select loItem).Count() > 0;
Clase de negocio base para mantenimientos
Definir la estructura de las líneas de los colores de artículos
sage.ew.botones.btMante _Mante
Mantenimiento para la columna del grid o campo enlazado
bool _PermiteDuplicados
Indica si se permiten valores duplicados comparando el campo con todos los registros cargados ...
string _Validar_Dato_Clave
Clave por la cual se buscará el valor a la tabla de validación
Definición de la interficie que han de cumplir aquellas clases que quieran proveer de información de ...
Definición de los objetos campo para las tablas relacionadas
Clase para gestionar los colores por artículo
EstadoTipo()
Inicializa una nueva intancia de la clase
string _Validar_Dato_BaseDatos
Base de datos donde se validará si el dato existe
Browser, basat en sage.ew.objetos.ewbutton
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
override void _Load()
Carga en la lista de campos, todos los campos de la _Tabla
virtual String _GetCodigo()
Devuelve el codigo
string _Validar_Dato_Tabla
Tabla donde se validará si el dato existe
TipoServicio()
Constructor vacío
sage.ew.botones.btBrowser _Browser
Browser para la columna del grid o campo enlazado
override bool _Delete()
Elimina el registro actual
EstadosTipo()
Inicializa una nueva intancia de la clase
Definición de los objetos campo para las tablas relacionadas
Updatable
Actualizable. Existe el campo en la tabla.
_ClaveTRel _Claves
Objeto que contine las claves para registros únicos
Dictionary< String, object > _Obtener_Filtros_SageReports(Dictionary< String, object > tdicParametros=null)
Obtienes los datos para la impresión de los tecnicos
Muestra el mantenimiento correspondiente a _Form con el registro correspondiente al _Codigo ...
Boolean _ContainsEstado(String tcEstado)
Mira si el codigo de estado pasado existe en la lista
Editable
Premitirá modificar su valor
TipoServicio(string tcCodigo)
Constructor con código
string _Validar_Dato_CampoTRel_Asignar
Destino del valor recuperado en la consulta de validación
virtual void _Load()
Lee el contenido de la tabla filtrado por _CampoClave y ordenando por Linea si se ha indicado ...
Interfaz para objetos línea
Campos clave para recuperar las tallas de los artículos
String _GetEstadoCierre()
String _GetSQLFiltroEstados(String tcCondicionDefecto)
EstadosTipo(String tcCodigoTipoServicio)
Inicializa una nueva intancia de la clase
override bool _Save()
Vuelca a la tabla el valor de los campos, pero solo los modificados
string _Validar_Dato_Campos
Campos que se recuperarán en la consulta de validación
String _GetEstadoDefecto()
bool Fila_Plena()
Devuelve si la línea está completa
Este es el espacio de nombres de su módulo. Puede encontrar más información y ayuda en el fichero rea...
Interfaz para la definición de las claves para tablas relacionadas
Clase para el acceso a las tablas relacionadas de los mantenimientos.
Clave()
Inicializa una nueva intancia de la clase
gridColumnsTypes
Definición de los tipos de columnas para los grids o campos enlazados
Visible
Visible en el grid
bool _Validar_Asignar_Cargando
Indica si se buscará el dato en la tabla correspondiente mientras se ejecuta el _Load() ...
string _Error_Validar_Dato
Mensaje de error que se mostrará al insertar un dato no válido
bool CamposTRel_Validar_Valor(ewCampoTRel toCampo, object toValor, object toLinia, out object toNewValor)
Valida el valor introducido en el campo