tipogastos.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.ComponentModel;
7 
8 using sage.ew.global;
9 using sage.ew.db;
10 using sage.ew.ewbase;
11 using System.Windows.Forms;
12 using sage.ew.ewbase.Attributes;
13 using System.ComponentModel.DataAnnotations;
14 
15 namespace sage.addons.services.Negocio.Mantes
16 {
17  public partial class TipoGastos : ewMante
18  {
22  public bool _EnUso = false;
23 
24  public enum TipoFacturacion
25  {
29  [DescriptionAttribute("Desglosado")]
30  Desglosado = 0,
34  [DescriptionAttribute("Agrupado")]
35  Agrupado = 1
36  }
37 
41  [FieldName("Mascara")]
42  [DisplayName("MASCARA")]
43  [DefaultValue("")]
44  [DataType(DataType.Text)]
45  public string _Mascara
46  {
47  get
48  {
49  return Convert.ToString(_Campo(GetFieldName(nameof(_Mascara))));
50  }
51  set
52  {
53 
54 
55  // Descomantar para _Numero de documento
56  // value = value.PadLeft(10);
57 
58  _Campo(GetFieldName(nameof(_Mascara)), value);
59  }
60  }
61 
65  [FieldName("Coste")]
66  [DisplayName("COSTE")]
67  public decimal _Coste
68  {
69  get
70  {
71  return Convert.ToDecimal(_Campo(GetFieldName(nameof(_Coste))));
72  }
73  set
74  {
75 
76 
77  // Descomantar para _Numero de documento
78  // value = value.PadLeft(10);
79 
80  _Campo(GetFieldName(nameof(_Coste)), value);
81  }
82  }
83 
87  [FieldName("Grupo")]
88  [DisplayName("GRUPO")]
89  public string _Grupo
90  {
91  get
92  {
93  return Convert.ToString(_Campo(GetFieldName(nameof(_Grupo))));
94  }
95  set
96  {
97 
98 
99  // Descomantar para _Numero de documento
100  // value = value.PadLeft(10);
101 
102  _Campo(GetFieldName(nameof(_Grupo)), value);
103  }
104  }
105 
106 
110  [FieldName("Codigo")]
111  [DisplayName("CODIGO")]
112  public override string _Codigo
113  {
114  get
115  {
116  return base._Codigo;
117  }
118  set
119  {
120 
121  base._Codigo = (! String.IsNullOrEmpty(value) ? value.ToString().PadLeft(2, '0') : value);
122  }
123  }
124 
128  [FieldName("Articulo")]
129  [DisplayName("ARTICULO")]
130  public string _Articulo
131  {
132  get
133  {
134  return Convert.ToString(_Campo(GetFieldName(nameof(_Articulo))));
135  }
136  set
137  {
138 
139 
140  // Descomantar para _Numero de documento
141  // value = value.PadLeft(10);
142 
143  _Campo(GetFieldName(nameof(_Articulo)), value);
144  }
145  }
146 
150  [FieldName("Facturable")]
151  [DisplayName("FACTURABLE")]
152  public bool _Facturable
153  {
154  get
155  {
156  return Convert.ToBoolean(_Campo(GetFieldName(nameof(_Facturable))));
157  }
158  set
159  {
160  _Campo(GetFieldName(nameof(_Facturable)), value);
161 
162  }
163  }
164 
168  [FieldName("UsarCoste")]
169  [DisplayName("USARCOSTE")]
170  public bool _UsarCoste
171  {
172  get
173  {
174  return Convert.ToBoolean(_Campo(GetFieldName(nameof(_UsarCoste))));
175  }
176  set
177  {
178  _Campo(GetFieldName(nameof(_UsarCoste)), value);
179  }
180  }
181 
185  public TipoGastos()
186  {
187  Inicializar();
188  }
189 
194  public TipoGastos(string tcCodigo)
195  {
196  Inicializar();
197 
198  this._Codigo = tcCodigo;
199  this._Load();
200  }
201 
202  private void Inicializar()
203  {
204  // Asignamos las propiedades para el mantenimiento
205  this._Clave = "Codigo";
206  this._DataBase = "SERVICES";
207  this._Tabla = "tipogastos";
208  this._TituloMantenimiento = "Mantenimiento de Tipos de Coste";
209 
210  this._Pantalla = "tipogastos";
211  this._FormManteBaseType = typeof(Visual.Forms.frmTipoGastos);
212 
213  this._Codigo = string.Empty;
214  }
215 
216  public string _GetFieldName(string name)
217  {
218 
219  return GetFieldName(name);
220 
221  }
222 
223  public override bool _Save_Before()
224  {
225  if ( this._Estado != sage.ew.ewbase.ewMante._EstadosMantenimiento.EsperandoCodigo)
226  {
227  if (string.IsNullOrWhiteSpace(_Grupo))
228  {
229  if (_LinkForm)
230  {
231  sage.ew.functions.FUNCTIONS._MessageBox("Falta indicar el grupo del tipo de coste.", "Tipo de coste", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
232  }
233 
234  return false;
235  }
236 
237  if (string.IsNullOrWhiteSpace(_Articulo))
238  {
239  if (_LinkForm)
240  {
241  sage.ew.functions.FUNCTIONS._MessageBox("Falta indicar el concepto facturable del tipo de coste.", "Tipo de coste", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
242  }
243 
244  return false;
245  }
246  }
247  return base._Save_Before();
248  }
249 
254  public override bool _Delete()
255 
256  {
257  bool llOk = false;
258  DataTable ldtInf = new DataTable();
259  string lcMensaje = string.Empty;
260  string lcSql;
261 
262  lcSql = String.Format("SELECT COUNT(*) AS registros, Max(NUMERO) FROM {0} WHERE TIPOGASTO = '" + _Codigo + "'", DB.SQLDatabase("SERVICES", "D_SERVICIOS"));
263 
264  DB.SQLExec(lcSql, ref ldtInf);
265 
266  if (ldtInf == null || ldtInf.Rows.Count == 0) // Verificamos que realmente se pueda eliminar
267  llOk = true;
268  else
269  {
270  var loInf = ldtInf.AsEnumerable().Where(y => y.Field<Int32>("registros") != 0).ToList();
271  if (loInf.Count() == 0)
272  llOk = true;
273  else
274  {
275  for (int lnInd = 0; lnInd < loInf.Count(); lnInd++)
276  {
277  if (!string.IsNullOrWhiteSpace(lcMensaje))
278  lcMensaje = lcMensaje + " y ";
279 
280  lcMensaje = lcMensaje + Convert.ToString(loInf[lnInd][1]);
281  }
282  }
283  }
284 
285  if (llOk)
286  {
287  llOk = false;
288  lcSql = String.Format("SELECT COUNT(*) AS registros, Max(TECNICO) FROM {0} WHERE TIPOGASTO = '" + _Codigo + "'", DB.SQLDatabase("SERVICES", "TEC_ART"));
289 
290  DB.SQLExec(lcSql, ref ldtInf);
291 
292  if (ldtInf == null || ldtInf.Rows.Count == 0) // Verificamos que realmente se pueda eliminar
293  llOk = true;
294  else
295  {
296  var loInf = ldtInf.AsEnumerable().Where(y => y.Field<Int32>("registros") != 0).ToList();
297  if (loInf.Count() == 0)
298  llOk = true;
299  else
300  {
301  for (int lnInd = 0; lnInd < loInf.Count(); lnInd++)
302  {
303  if (!string.IsNullOrWhiteSpace(lcMensaje))
304  lcMensaje = lcMensaje + " y ";
305 
306  lcMensaje = lcMensaje + Convert.ToString(loInf[lnInd][1]);
307  }
308  }
309  }
310 
311  if (llOk)
312  return base._Delete();
313  else
314  _Error_Message = "Este código de tipo de coste está asignado al técnico " + lcMensaje.Trim() + ". No se puede borrar el tipo de coste.";
315 
316  }
317  else
318  _Error_Message = "Este código de tipo de coste está asignado al servicio número " + lcMensaje.Trim() + ". No se puede borrar el tipo de coste.";
319 
320  return llOk;
321  }
322 
323  }
324 }
Clase de negocio base para mantenimientos
Definition: clsEwBase.cs:1643
Es como el tipo de entrada asientos pero por negocio, sin formulario, pq quiero que me haga las propu...
TipoGastos(string tcCodigo)
Constructor con código
Definition: tipogastos.cs:194
Clase para uso de funciones genéricas
Definition: functions.cs:146
override bool _Delete()
Elimina el registro actual
Definition: tipogastos.cs:254
_EstadosMantenimiento
Declaro un enum para los estados del mantenimiento.
Definition: clsEwBase.cs:1671
override bool _Save_Before()
Método que se ejecuta entes de realizar el código del método _Save(), para poder realizar comprobacio...
Definition: tipogastos.cs:223