2 using System.Collections.Generic;
5 using System.ComponentModel;
12 using System.Drawing.Design;
13 using System.Windows.Forms.Design;
14 using System.Windows.Forms;
19 using System.Globalization;
29 private Dictionary<String, GoogleMapsConfig> _oListConfig =
new Dictionary<String, GoogleMapsConfig>();
42 if (_oListConfig.ContainsKey(lcCodigo))
44 loConfig = _oListConfig[lcCodigo];
49 _oListConfig.Add(lcCodigo, loConfig);
59 public void _Load(Dictionary<string, ColumnDefinition> toListColumns)
64 var loGroups = toListColumns.Values.Where(f=>f._TipoCampo ==
GoogleMapsConfig.
TipoCampo.CodigoPostal).GroupBy(d => d._GoogleMapsConfig._Codigo);
66 foreach(var loGroup
in loGroups)
68 String lcKey = loGroup.Key;
70 if (!String.IsNullOrEmpty(loGroup.Key))
72 String lcKeyCP = loGroup.Key.Substring(0, lcKey.IndexOf(
"@@"));
73 String lcKeyPoblacion = loGroup.Key.Substring(lcKey.IndexOf(
"@@") + 2);
88 loColPoblacion = toListColumns.Values.Where(f => f._TipoCampo ==
GoogleMapsConfig.
TipoCampo.Poblacion && f._GoogleMapsConfig._Codigo.StartsWith(loColCp.
_Codigo)).First();
99 List<ColumnDefinition> loConfigColumns = (from loCol in toListColumns.Values
100 where loCol._GoogleMapsConfig._Codigo == loConfig.
_Codigo 101 select loCol).ToList();
102 if (loConfigColumns.Count > 0)
108 foreach (KeyValuePair<String, GoogleMapsConfig.GoogleMapsConfigColums> loKeyPairValue
in loCol.
_GoogleMapsConfig.
_Columns)
112 if ((loGoogleMapsConfigColums._Codigo ==
"contador" || toListColumns.ContainsKey(loGoogleMapsConfigColums._Codigo)) && toListColumns.ContainsKey(loGoogleMapsConfigColums._CodigoCP) && toListColumns.ContainsKey(loGoogleMapsConfigColums._CodigoPoblacion))
114 if (!loConfig.
_Columns.ContainsKey(loGoogleMapsConfigColums._Codigo)) loConfig.
_Columns.Add(loGoogleMapsConfigColums._Codigo, loGoogleMapsConfigColums);
135 if (loColumPoblacion.Count > 0)
154 if(loConfig.
_Columns.ContainsKey(toColumn._Codigo)) loConfig.
_Columns.Remove(toColumn._Codigo);
213 private String _cCodigo;
214 private String _cErrorMessage;
215 private Boolean _bGoogleMaps =
false;
216 private Dictionary<String, GoogleMapsConfigColums> _oColumns =
new Dictionary<String, GoogleMapsConfigColums>();
224 public Boolean _IsConfigured
254 return _oColumnPoblacion;
258 _oColumnPoblacion = value;
269 return _oColumnPoblacionRel;
273 _oColumnPoblacionRel = value;
279 public String _Codigo
285 _cCodigo = String.Format(
"{0}@@{1}", _ColumnCP._Codigo, _ColumnPoblacion._Codigo);
294 public Boolean _Activo
302 _bGoogleMaps = value;
309 public Dictionary<String, GoogleMapsConfigColums> _Columns
335 private Boolean _bActivo =
false;
336 private String _cTitulo =
"";
337 private String _cCodigo =
"contador";
338 private String _cCodigoCP =
"";
339 private String _cCodigoPoblacion =
"";
340 private String _cCampo =
"";
346 public String _Codigo
368 public String _CodigoCP
383 public String _CodigoPoblacion
387 return _cCodigoPoblacion;
391 _cCodigoPoblacion = value;
403 return _oColDefinition;
407 _oColDefinition = value;
410 _cCodigo = _oColDefinition.
_Codigo;
411 _cCampo = _oColDefinition.
_Titulo;
412 if (String.IsNullOrEmpty(_cTitulo)) _cTitulo = _oColDefinition.
_Titulo;
421 public Boolean _Activo
437 public String _Titulo
456 List<XElement> loList =
new List<XElement>();
457 List<XElement> loPath =
new List<XElement>();
459 loList.Add(
new XElement(
"Codigo", _Codigo));
460 loList.Add(
new XElement(
"Activo", _Activo ? Boolean.TrueString : Boolean.FalseString));
461 loList.Add(
new XElement(
"Titulo", _Titulo));
462 loList.Add(
new XElement(
"CodigoCP", _cCodigoCP));
463 loList.Add(
new XElement(
"CodigoPoblacion", _cCodigoPoblacion));
464 loList.Add(
new XElement(
"Campo", _cCampo));
466 loElement =
new XElement(
"GoogleMapsColumn", loList.ToArray());
479 _cTitulo = String.Format(
"Distribución por {0}", tcTitulo.ToLower());
498 _bActivo = Convert.ToBoolean(toElement.Element(
"Activo").Value);
499 _cTitulo = Convert.ToString(toElement.Element(
"Titulo").Value);
500 _cCodigo = Convert.ToString(toElement.Element(
"Codigo").Value);
501 _cCodigoCP = Convert.ToString(toElement.Element(
"CodigoCP").Value);
502 _cCampo = Convert.ToString(toElement.Element(
"Campo").Value);
503 _cCodigoPoblacion = Convert.ToString(toElement.Element(
"CodigoPoblacion").Value);
515 List<XElement> loList =
new List<XElement>();
517 loList.Add(
new XElement(
"Activo", _bGoogleMaps ? Boolean.TrueString : Boolean.FalseString));
518 loList.Add(
new XElement(
"Codigo", _Codigo));
525 loElement =
new XElement(
"GoogleMapsConfig", loList.ToArray());
534 public List<GoogleMapsConfigColums> _ActiveColumns
538 List<GoogleMapsConfigColums> loList = (from loCol in _Columns.Values
540 select loCol).ToList();
548 public string _ErrorMessage
552 return _cErrorMessage;
556 _cErrorMessage = value;
568 if (_ActiveColumns.Count() == 0)
570 _ErrorMessage =
"Debe seleccionar al menos una columna";
572 else if(_ActiveColumns.Where(f => String.IsNullOrEmpty(f._Titulo) || String.IsNullOrWhiteSpace(f._Titulo) ).Count() > 0)
574 _ErrorMessage =
"Debe especificar el título";
577 return String.IsNullOrEmpty(_ErrorMessage);
595 _oColumnPoblacion = toPoblacion;
599 loColumConfig.
_CodigoCP = _oColumnCP._Codigo;
600 loColumConfig._CodigoPoblacion = _oColumnPoblacion.
_Codigo;
602 _oColumns.Add(
"contador", loColumConfig);
611 _bGoogleMaps = tlActivo;
620 _bGoogleMaps = Convert.ToBoolean(toElement.Element(
"Activo").Value);
621 _cCodigo = toElement.Element(
"Codigo").Value;
623 foreach (XElement loElement
in toElement.Elements(
"GoogleMapsColumn"))
627 _oColumns.Add(loConfig.
_Codigo, loConfig);