OliviaAddInPro/Model/OliviaConf.cs

1349 lines
51 KiB
C#

using Newtonsoft.Json;
using OliviaAddInPro.View.Configuracion;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using Xceed.Wpf.Toolkit.PropertyGrid;
using Xceed.Wpf.Toolkit.PropertyGrid.Editors;
using Xceed.Wpf.Toolkit.PropertyGrid.Attributes;
namespace OliviaAddInPro.Model
{
[CategoryOrder("General", 1)]
[CategoryOrder("Campos Limpieza", 2)]
[CategoryOrder("Atributos Limpieza", 3)]
[CategoryOrder("Campos Recogida", 4)]
[CategoryOrder("Atributos recogida", 5)]
[CategoryOrder("Campos Red Navegable", 6)]
[CategoryOrder("Atributos Red Navegable", 7)]
[CategoryOrder("Tiempos de la jornada - Avanzadas", 8)]
[CategoryOrder("Anchos por defecto Limpieza (m) - Avanzadas", 9)]
[CategoryOrder("Tiempos de Tratamiento Limpieza - Avanzadas", 10)]
[CategoryOrder("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas", 11)]
[CategoryOrder("Tiempos de Tratamiento Recogida (min) - Avanzadas", 12)]
[CategoryOrder("Densidades Recogida (kg/m3) - Avanzadas", 13)]
[CategoryOrder("Características Vehículo Recogida - Avanzadas", 14)]
[CategoryOrder("General - Avanzadas", 15)]
[CategoryOrder("Simbología Cartela - Avanzadas", 16)]
[Serializable]
class OliviaConf
{
[TypeConverter(typeof(EnumToStringUsingDescription))]
public enum OpsRecoCont
{
[Description("Contenedor lleno (usa capac. y densidad cont.)")]
LlenoUsaDensidad,
[Description("Lee campo 'Kg del Contenedor'")]
LeeCampoTabla,
[Description("Usa 'Kg por Defecto'")]
UsaKgDef
}
private string m2s(int min)
{
var val = min;
int horas = val / 60;
return string.Format("{0}:{1:D2}", horas, val - (horas * 60));
}
private int s2m(string str, int defec)
{
var match = Regex.Match(str, @"^([0-9]*):([0-9]*)");
if (match.Success)
{
int res = 0;
var horas = match.Groups[1].Value;
var min = match.Groups[2].Value;
if (!string.IsNullOrEmpty(horas))
res += Int32.Parse(horas) * 60;
if (!string.IsNullOrEmpty(min))
res += Int32.Parse(min) * 60;
return res;
}
return defec;
}
public OliviaConf()
{
Ip = "0.0.0.0";
Puerto = 19995;
TiempoOutSocket = 20;
}
#region PropiedadesOcultas
#region parametrosConexion
/**
* IP donde va a realizar la conexión a OliviaTask, se inicializa al arrancar con la local
*/
[Browsable(false)]
public string Ip { get; set; }
/**
* Puerto local donde va a realizar la conexión a OliviaTask, se inicializa al arrancar
*/
[Browsable(false)]
public int Puerto { get; set; }
/**
* Time out de la conexión con OliviaTask, en seg
*/
[Browsable(false)]
public int TiempoOutSocket { get; set; }
#endregion
#region Paths
[Browsable(false)]
public string path_work { get; set; }
[Browsable(false)]
public string path_exe { get; set; }
[Browsable(false)]
public string path_manual { get; set; }
[Browsable(false)]
public string path_temp { get; set; }
[Browsable(false)]
public string path_data { get; set; }
[Browsable(false)]
public string path_cfg_aux { get; set; }
#endregion
#region FILTROS_LIMP
[Browsable(false)]
public string ejes { get; set; }
[Browsable(false)]
public string bord_libre_mec { get; set; }
[Browsable(false)]
public string bord_libre_no_mec { get; set; }
[Browsable(false)]
public string bord_aparc { get; set; }
[Browsable(false)]
public string bord_acera_mec { get; set; }
[Browsable(false)]
public string bord_acera_no_mec { get; set; }
[Browsable(false)]
public string calle_peat_mec { get; set; }
[Browsable(false)]
public string calle_peat_no_mec { get; set; }
[Browsable(false)]
public string caida_hoja_mec { get; set; }
[Browsable(false)]
public string caida_hoja_no_mec { get; set; }
[Browsable(false)]
public string contenedores { get; set; }
[Browsable(false)]
public string pape { get; set; }
[Browsable(false)]
public string zon_inf { get; set; }
[Browsable(false)]
public string pipican { get; set; }
[Browsable(false)]
public string sanecan { get; set; }
#endregion
#region PARAM_LIMP_Ocult
[Browsable(false)]
public int t_tratamiento_max { get; set; }
[Browsable(false)]
public int t_tratamiento_min { get; set; }
[Browsable(false)]
public int v_desplaz_max { get; set; }
[Browsable(false)]
public int v_desplaz_min { get; set; }
[Browsable(false)]
public int t_carga_desc_max { get; set; }
[Browsable(false)]
public int t_carga_desc_min { get; set; }
[Browsable(false)]
public int t_desplaz_max { get; set; }
[Browsable(false)]
public int t_desplaz_min { get; set; }
[Browsable(false)]
public int t_convenio_max { get; set; }
[Browsable(false)]
public int t_convenio_min { get; set; }
[Browsable(false)]
public int t_descanso_max { get; set; }
[Browsable(false)]
public int t_descanso_min { get; set; }
[Browsable(false)]
public int ancho_via_max { get; set; }
[Browsable(false)]
public int ancho_via_min { get; set; }
#endregion
#region ParametrosReco_Ocultos
[Browsable(false)]
public int t_vaciado_max { get; set; }
[Browsable(false)]
public int t_vaciado_min { get; set; }
[Browsable(false)]
public int t_llega_sale_max { get; set; }
[Browsable(false)]
public int t_llega_sale_min { get; set; }
[Browsable(false)]
public int t_descarga_max { get; set; }
[Browsable(false)]
public int t_descarga_min { get; set; }
[Browsable(false)]
public int R_t_convenio_max { get; set; }
[Browsable(false)]
public int R_t_convenio_min { get; set; }
[Browsable(false)]
public int R_t_descanso_max { get; set; }
[Browsable(false)]
public int R_t_descanso_min { get; set; }
#endregion
#region OtrasConfiguraciones
[Browsable(false)]
public string PathGdbGen { get; set; }
[Browsable(false)]
public string PathCartela { get; set; }
[Browsable(false)]
public string PathSimbVSM { get; set; }
[Browsable(false)]
public string PathSimbESRI { get; set; }
#endregion
#endregion
#region 01General
[Category("General")]
[DisplayName("Red de carreteras")]
[PropertyOrder(1)]
[Description("Red de carreteras que se usa para la navegación")]
[Editor(typeof(PropertyGridFilePickerLine), typeof(PropertyGridFilePickerLine))]
public string Path_Eje_via { get; set; }
[Category("General")]
[PropertyOrder(2)]
[DisplayName("Buffer de exportación (m)")]
[Description("Buuffer extra, en metros, que se va a exportar de la red de carreteras")]
public int buffer_export { get; set; }
[Category("General")]
[PropertyOrder(3)]
[DisplayName("Campo Sector")]
[Description("Nombre del campo Sector donde se indica el sector al que pertenece el ámbito")]
public string consulta_sector { get; set; }
[Category("General")]
[PropertyOrder(4)]
[DisplayName("Campo Secuencia")]
[Description("Nombre del campo Secuencia donde se indica el orden en que se trata el ámbito dentro de su sector")]
public string consulta_secuen { get; set; }
[Category("General")]
[PropertyOrder(5)]
[DisplayName("GDB para Importación")]
[Description("Gdb en la que se importarán los resultados de la ejecución")]
[Editor(typeof(PropertyGridFilePickerGDB), typeof(PropertyGridFilePickerGDB))]
public string Path_Gdb_Import { get; set; }
[Category("General")]
[PropertyOrder(5)]
[DisplayName("Carpeta para listados (CSV)")]
[Description("Carpeta en la que se guardarán los listados en CSV de la planificación")]
[Editor(typeof(PropertyGridFilePickerFolder), typeof(PropertyGridFilePickerFolder))]
public string Path_Guarda_Csv { get; set; }
#endregion
#region 02CamposLimp
[Category("Campos Limpieza")]
[PropertyOrder(1)]
[DisplayName("Tipo de entidad")]
[Description("Nombre del campo que indica el tipo de entidad")]
public string cons_tip_ent { get; set; }
[Category("Campos Limpieza")]
[PropertyOrder(2)]
[DisplayName("Mecanizable")]
[Description("Nombre del campo que indica si es Mecanizable")]
public string cons_mecaniz { get; set; }
[Category("Campos Limpieza")]
[PropertyOrder(3)]
[DisplayName("Observaciones")]
[Description("Nombre del campo de Observaciones")]
public string cons_obser { get; set; }
[Category("Campos Limpieza")]
[PropertyOrder(4)]
[DisplayName("Ancho aceras")]
[Description("Nombre del campo que indica el Ancho de las aceras")]
public string cons_anch_tip { get; set; }
[Category("Campos Limpieza")]
[PropertyOrder(5)]
[DisplayName("Tipo de aparcamiento")]
[Description("Nombre del campo que indica el Tipo de aparcamiento")]
public string cons_tipolo { get; set; }
#endregion
#region 03AtrLimp
[Category("Atributos Limpieza")]
[PropertyOrder(1)]
[DisplayName("Acera")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Acera'")]
public string atr_acera { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(2)]
[DisplayName("Banda Aparcamiento")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Banda de aparcamiento'")]
public string atr_aparc { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(3)]
[DisplayName("Bordillo libre")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Bordillo libre'")]
public string atr_bord { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(4)]
[DisplayName("Caída de hoja")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Caída de hoja'")]
public string atr_hoja { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(5)]
[DisplayName("Peatonales")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Calle peatonal'")]
public string atr_peat { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(12)]
[DisplayName("Mecanizable (MECANIZABLE=Sí)")]
[Description("Valor del campo 'Mecanizable' para el atributo 'Sí Mecanizable'")]
public string atr_mec_s { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(13)]
[DisplayName("No mecanizable (MECANIZABLE=No)")]
[Description("Valor del campo 'Mecanizable' para el atributo 'No mecanizable'")]
public string atr_mec_n { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(6)]
[DisplayName("Juegos infantiles")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Juegos infantiles'")]
public string atr_infan { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(7)]
[DisplayName("Papelera")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Papelera'")]
public string atr_pape { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(8)]
[DisplayName("Pipican")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Pipican'")]
public string atr_pipi { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(9)]
[DisplayName("Sanecan")]
[Description("Valor del campo 'Tipo de entidad' para el atributo 'Saneacan'")]
public string atr_sane { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(10)]
[DisplayName("Aparcamiento en linea")]
[Description("Valor del campo 'Tipo de aparcamiento' para el atributo 'Aparcamiento en linea'")]
public string atr_ap_lin { get; set; }
[Category("Atributos Limpieza")]
[PropertyOrder(11)]
[DisplayName("Aparacamiento en bateria")]
[Description("Valor del campo 'Tipo de aparcamiento' para el atributo 'Aparcamiento en bateria'")]
public string atr_ap_bat { get; set; }
#endregion
#region 04CamposRecogida
[Category("Campos Recogida")]
[DisplayName("ID")]
[Description("Nombre del campo que indica el ID del contenedor")]
public string id { get; set; }
[Category("Campos Recogida")]
[DisplayName("Tipo de carga")]
[Description("Nombre del campo que indica el tipo de carga")]
public string nomrec { get; set; }
[Category("Campos Recogida")]
[DisplayName("Lateralidad")]
[Description("Nombre del campo que indica la lateralidad")]
public string lateralidad { get; set; }
[Category("Campos Recogida")]
[DisplayName("Fracción")]
[Description("Nombre del campo que indica la fracción")]
public string frac { get; set; }
[Category("Campos Recogida")]
[DisplayName("Capacidad")]
[Description("Nombre del campo que indica la capacidad del contenedor, en m3")]
public string capac { get; set; }
[Category("Campos Recogida")]
[DisplayName("Unidades")]
[Description("Nombre del campo que indica el número de contenedores en una ubicación")]
public string uds { get; set; }
[Category("Campos Recogida")]
[PropertyOrder(8)]
[ReadOnly(false)]
[DisplayName("Campo 'Kg del contenedor'")]
[Description("Nombre del campo que indica los kg del contenedor")]
public string kgrec { get; set; }
[Category("Campos Recogida")]
[PropertyOrder(9)]
[ReadOnly(false)]
[DisplayName("Kg por defecto")]
[Description("Esta propiedad indica los kg a utilizar para todos los contenedores por defecto en caso de no leer el campo")]
public int kgrec_val { get; set; }
[Category("Campos Recogida")]
[PropertyOrder(7)]
[DisplayName("Kg a recoger")]
[JsonIgnore]
[Description("Esta propiedad indica si se usa contenedor lleno, en cuyo caso se emplea la densidad de la " +
"fracción en contenedor y su capacidad, o bien si se debe usar el valor por defecto 'Kg defecto' o bien se deben leer los kg de cada contenedor del campo 'Kg del contenedor'")]
[RefreshProperties(System.ComponentModel.RefreshProperties.All)]
public OpsRecoCont opsRecoCont
{
get
{
OpsRecoCont val;
if (is_lleno)
{
val=OpsRecoCont.LlenoUsaDensidad;
}
else if (is_campo)
{
val= OpsRecoCont.LeeCampoTabla;
}
else
{
val= OpsRecoCont.UsaKgDef;
}
return val;
}
set
{
switch (value)
{
case OpsRecoCont.LlenoUsaDensidad:
is_lleno = true;
is_campo = false;
break;
case OpsRecoCont.LeeCampoTabla:
is_lleno = false;
is_campo = true;
break;
case OpsRecoCont.UsaKgDef:
is_lleno = false;
is_campo = false;
break;
}
check(value);
}
}
//falta hacer que al iniciar ya se pinten bien, al seleccionar lo hace bien
void check(OpsRecoCont val)
{
PropertyDescriptor propDescrKgDef = TypeDescriptor.GetProperties(this.GetType())["kgrec_val"];
PropertyDescriptor propDescrKgTabla = TypeDescriptor.GetProperties(this.GetType())["kgrec"];
ReadOnlyAttribute attrKgDef = propDescrKgDef.Attributes[typeof(ReadOnlyAttribute)] as ReadOnlyAttribute;
ReadOnlyAttribute attrKgTabla = propDescrKgTabla.Attributes[typeof(ReadOnlyAttribute)] as ReadOnlyAttribute;
if (attrKgDef != null && attrKgTabla != null)
{
System.Reflection.FieldInfo aFieldKgDef = attrKgDef.GetType().GetField("isReadOnly", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
System.Reflection.FieldInfo aFieldKgTabla = attrKgTabla.GetType().GetField("isReadOnly", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
aFieldKgDef.SetValue(attrKgDef, val!= OpsRecoCont.UsaKgDef);
aFieldKgDef.SetValue(attrKgTabla, val != OpsRecoCont.LeeCampoTabla);
}
}
[Category("Campos Recogida")]
[Browsable(false)]
[DisplayName("¿Lleno?")]
[Description("Indica si se debe considerar que todos los contenedores están llenos")]
public bool is_lleno { get; set; }
[Category("Campos Recogida")]
[Browsable(false)]
[DisplayName("¿Lee el campo de kg?")]
[Description("Indica si se deben leer los kg de cada contenedor del campo 'Kg a recoger'")]
public bool is_campo { get; set; }
#endregion
#region 05AtributosRecogida
[Category("Atributos recogida")]
[PropertyOrder(1)]
[DisplayName("Fracción Organica")]
[Description("Valor del campo 'Fracción' para el atributo 'Orgánica'")]
public string organica { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(2)]
[DisplayName("Fracción Resto")]
[Description("Valor del campo 'Fracción' para el atributo 'Resto'")]
public string resto { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(3)]
[DisplayName("Fracción Envases")]
[Description("Valor del campo 'Fracción' para el atributo 'Envases'")]
public string envase { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(4)]
[DisplayName("Fracción Papel")]
[Description("Valor del campo 'Fracción' para el atributo 'Papel'")]
public string papel { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(5)]
[DisplayName("Fracción Vidrio")]
[Description("Valor del campo 'Fracción' para el atributo 'Vidrio'")]
public string vidrio { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(6)]
[DisplayName("Carga trasera")]
[Description("Valor del campo 'Tipo de carga' para el atributo 'Trasera'")]
public string trasera { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(7)]
[DisplayName("Carga lateral")]
[Description("Valor del campo 'Tipo de carga' para el atributo 'Lateral'")]
public string lateral { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(8)]
[DisplayName("Carga superior")]
[Description("Valor del campo 'Tipo de carga' para el atributo 'Superior'")]
public string superior { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(9)]
[DisplayName("Carga Bilateral")]
[Description("Valor del campo 'Tipo de carga' para el atributo 'Bilateral'")]
public string bilat { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(10)]
[DisplayName("Bolseo")]
[Description("Valor del campo 'Tipo de carga' para el atributo 'Bolseo'")]
public string bolseo { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(11)]
[DisplayName("Lavado")]
[Description("Valor del campo 'Tipo de carga' para el atributo 'Lavado'")]
public string lavado { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(14)]
[DisplayName("Carga lat. - Ambos")]
[Description("Valor del campo 'Lateralidad' para el atributo 'Ambos'")]
public string ambos { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(12)]
[DisplayName("Carga lat. - Derecha")]
[Description("Valor del campo 'Lateralidad' para el atributo 'Derecha'")]
public string derecha { get; set; }
[Category("Atributos recogida")]
[PropertyOrder(13)]
[DisplayName("Carga lat. - Izquierda")]
[Description("Valor del campo 'Lateralidad' para el atributo 'Izquierda'")]
public string izquierda { get; set; }
#endregion
#region 06CambosNW
[Category("Campos Red Navegable")]
[DisplayName("Sentido de la vía")]
[Description("Nombre del campo que indica si la vía es de doble sentido o no")]
public string cons_onew { get; set; }
[Category("Campos Red Navegable")]
[DisplayName("Velocidad de la vía")]
[Description("Nombre del campo que indica la velociad máxima permitida de la vía")]
public string cons_kph { get; set; }
[Category("Campos Red Navegable")]
[DisplayName("Tipo de vía")]
[Description("Nombre del campo que indica el tipo de la vía (usado para ver si es vía peatonal).")]
public string cons_fow { get; set; }
[Category("Campos Red Navegable")]
[DisplayName("Nombre de la vía")]
[Description("Nombre del campo que indica el nombre de la vía")]
public string cons_name { get; set; }
#endregion
#region 07AtrNw
[Category("Atributos Red Navegable")]
[PropertyOrder(1)]
[DisplayName("To-From")]
[Description("Valor del campo 'Sentido de la vía' que indica sentido de la vía To-From")]
public string atr_TF { get; set; }
[Category("Atributos Red Navegable")]
[PropertyOrder(2)]
[DisplayName("From-To")]
[Description("Valor del campo 'Sentido de la vía' que indica sentido de la vía From-To")]
public string atr_FT { get; set; }
[Category("Atributos Red Navegable")]
[PropertyOrder(3)]
[DisplayName("Sin circulación")]
[Description("Valor del campo 'Sentido de la vía' que indica no circulación")]
public string atr_N { get; set; }
[Category("Atributos Red Navegable")]
[PropertyOrder(4)]
[DisplayName("Peatonal")]
[Description("Valor del campo 'Tipo de vía' que indica que es calle peatonal")]
public string atr_pedes { get; set; }
#endregion
#region 08TiemposJornAvanz
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[DisplayName("Desplazamientos (min)")]
[Description("Tiempo de desplazamiento desde la instalación al punto de partida de la ruta en horas:minutos, " +
"cuando no hay definida instalación")]
/*[JsonIgnore]
public string timeDesplazamiento
{
get
{
return m2s(t_desplaz);
}
set
{
t_desplaz = s2m(value, t_desplaz);
}
}
[Browsable(false)]*/
public int t_desplaz { get; set; }
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[DisplayName("Carga/descarga (min)")]
[Description("Tiempo de descarga en planta o bien carga/descarga en instalación, en horas:minutos")]
/*[JsonIgnore]
public string timeDescarga
{
get
{
return m2s(t_carga_desc);
}
set
{
t_carga_desc = s2m(value, t_carga_desc);
}
}
[Browsable(false)]*/
public int t_carga_desc { get; set; }
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[DisplayName("Descanso (min)")]
[Description("Tiempo de descanso del personal según convenion, en minutos")]
/*[JsonIgnore]
public string timeDescanso
{
get
{
return m2s(t_descanso);
}
set
{
t_descanso = s2m(value, t_descanso);
}
}
[Browsable(false)]*/
public int t_descanso { get; set; }
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[PropertyOrder(1)]
[DisplayName("Jornada (convenio)")]
[Description("Tiempo de la jornada según convenio en formato horas:minutos")]
[JsonIgnore]
/*public string timeConvenio
{
get
{
return m2s(t_convenio);
}
set
{
t_convenio = s2m(value, t_convenio);
}
}*/
[Editor(typeof(DateTimePickerEditor), typeof(DateTimePickerEditor))]
public DateTime timeConvenio
{
get { return PanelGlobal.Hm_int2DateTime(t_convenio); }
set
{
t_convenio = PanelGlobal.Hm_DateTime2int(value);
}
}
[Browsable(false)]
public int t_convenio { get; set; }
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[PropertyOrder(2)]
[DisplayName("Hora de inicio")]
[Description("Hora de inicio de la jornada, en horas:minutos")]
[JsonIgnore]
/*public string horaInicio
{
get
{
return m2s(hora_inicio);
}
set
{
hora_inicio = s2m(value, hora_inicio);
}
}*/
[Editor(typeof(DateTimePickerEditor), typeof(DateTimePickerEditor))]
public DateTime horaInicio
{
get { return PanelGlobal.Hm_int2DateTime(hora_inicio); }
set
{
hora_inicio = PanelGlobal.Hm_DateTime2int(value);
}
}
[Browsable(false)]
public int hora_inicio { get; set; } //ES UNA HORA, SON LOS MINUTOS DESDE LAS 00, PERO TIENE QUE APARECER CON FORMATO DE TIME 07:30, POR EJEMPLO
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[DisplayName("Salida/llegada, en recogida (min)")]
[Description("")]
public int t_llega_sale { get; set; }
[Category("Tiempos de la jornada - Avanzadas")] //OCULTAR
[DisplayName("Descarga en planta, en recogida (min)")]
[Description("")]
public int t_descarga { get; set; }
#endregion
#region 09AnchosLimpAvanz
[Category("Anchos por defecto Limpieza (m) - Avanzadas")] //OCULTAR
[DisplayName("Ancho de la vía")]
[Description("Ancho vía cuando se usa eje de vía como ámbitos. En metros")]
public int ancho_via { get; set; }
[Category("Anchos por defecto Limpieza (m) - Avanzadas")] //OCULTAR
[DisplayName("Calle peatonal")]
[Description("Ancho por defecto calle peatonal. En metros")]
public double Ancho_peat_def { get; set; }
[Category("Anchos por defecto Limpieza (m) - Avanzadas")] //OCULTAR
[DisplayName("Acera")]
[Description("Ancho de acera por defecto. En metros")]
public double Ancho_acera_def { get; set; }
[Category("Anchos por defecto Limpieza (m) - Avanzadas")] //OCULTAR
[DisplayName("Aparcamiento linea")]
[Description("Ancho por defecto del aparcamiento en linea. En metros")]
public double Ancho_ap_lin_def { get; set; }
[Category("Anchos por defecto Limpieza (m) - Avanzadas")] //OCULTAR
[DisplayName("Aparcamiento bateria")]
[Description("Ancho por defecto del aparcamiento en bateria. En metros")]
public double Ancho_ap_bat_def { get; set; }
[Category("Anchos por defecto Limpieza (m) - Avanzadas")] //OCULTAR
[DisplayName("Bordillo libre")]
[Description("Ancho por defecto del bordillo libre. En metros")]
public double Ancho_bord_lib_def { get; set; }
#endregion
#region 10TiemposLimpAvanz
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Barrido manual (m2/h)")]
[Description("")]
public int t_tratamiento_BarMan { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Barrido manual de mantenimiento (m2/h)")]
[Description("")]
public int t_tratamiento_BarManMant { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Barrido manual motorizado (m2/h)")]
[Description("")]
public int t_tratamiento_BarMMot { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Barrido mecánico de calzadas (m/h)")]
[Description("")]
public int t_tratamiento_BarMC { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Barrido mecánico de aceras y peatonales (m2/h)")]
[Description("")]
public int t_tratamiento_BarMAP { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Barrido mixto (m2/h)")]
[Description("")]
public int t_tratamiento_BarMix { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Baldeo manual (m2/h)")]
[Description("")]
public int t_tratamiento_BalMan { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Baldeo mecánico de calzadas (m/h)")]
[Description("")]
public int t_tratamiento_BalMC { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Baldeo mecánico de aceras y calles peatonales (m2/h)")]
[Description("")]
public int t_tratamiento_BalMAP { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Baldeo mixto (m2/h)")]
[Description("")]
public int t_tratamiento_BalMix { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Brigada de Limpieza (m2/h)")]
[Description("")]
public int t_tratamiento_BL { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Caída hoja (m2/h)")]
[Description("")]
public int t_tratamiento_CH { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Vaciado de Papeleras (min)")]
[Description("")]
/*[JsonIgnore]
public string str_t_tratamiento_VPap
{
get
{
return m2s(t_tratamiento_VPap);
}
set
{
t_tratamiento_VPap = s2m(value, t_tratamiento_VPap);
}
}
[Browsable(false)]*/
public int t_tratamiento_VPap { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Limpieza de Papeleras (min)")]
[Description("")]
/*[JsonIgnore]
public string Tiempo_tratamiento_LPap
{
get
{
return m2s(t_tratamiento_LPap);
}
set
{
t_tratamiento_LPap = s2m(value, t_tratamiento_LPap);
}
}
[Browsable(false)]*/
public int t_tratamiento_LPap { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Limpieza de contenedores (min)")]
[Description("")]
/*[JsonIgnore]
public string str_t_tratamiento_LC
{
get
{
return m2s(t_tratamiento_LC);
}
set
{
t_tratamiento_LC = s2m(value, t_tratamiento_LC);
}
}
[Browsable(false)]*/
public int t_tratamiento_LC { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Limpieza de zonas infantiles (min)")]
[Description("")]
/*[JsonIgnore]
public string str_t_tratamiento_LZI
{
get
{
return m2s(t_tratamiento_LZI);
}
set
{
t_tratamiento_LZI = s2m(value, t_tratamiento_LZI);
}
}
[Browsable(false)]*/
public int t_tratamiento_LZI { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Limpieza de pipicanes (min)")]
[Description("")]
/*[JsonIgnore]
public string str_t_tratamiento_LPip
{
get
{
return m2s(t_tratamiento_LPip);
}
set
{
t_tratamiento_LPip = s2m(value, t_tratamiento_LPip);
}
}
[Browsable(false)]*/
public int t_tratamiento_LPip { get; set; }
[Category("Tiempos de Tratamiento Limpieza - Avanzadas")] //OCULTAR
[DisplayName("Limpieza de saneacanes (min)")]
[Description("")]
/*[JsonIgnore]
public string str_t_tratamiento_LS
{
get
{
return m2s(t_tratamiento_LS);
}
set
{
t_tratamiento_LS = s2m(value, t_tratamiento_LS);
}
}
[Browsable(false)]*/
public int t_tratamiento_LS { get; set; }
#endregion
#region 11VeloDesplLimpAvanz
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Barrido manual")]
[Description("Velocidad de desplazamiento de barrido Manual")]
public int v_desp_BarMan { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Barrido mantenimiento manual")]
[Description("Velocidad de desplazamiento de barrido mantenimiento manual")]
public int v_desp_BarManMant { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Barrido manual motorizado")]
[Description("Velocidad de desplazamiento de Barrido manual motorizado")]
public int v_desp_BarMMot { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Barrido mecánico calzadas")]
[Description("Velocidad de desplazamiento de barrido mecánico de calzadas")]
public int v_desp_BarMC { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Barrido aceras peatonales")]
[Description("Velocidad de desplazamiento de barrido mecánico aceras peatonales")]
public int v_desp_BarMAP { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Barrido mixto")]
[Description("Velocidad de desplazamiento de barrido mixto")]
public int v_desp_BarMix { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Baldeo manual")]
[Description("Velocidad de desplazamiento de baldeo manual")]
public int v_desp_BalMan { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Baldeo aceras peatonales")]
[Description("Velocidad de desplazamiento de Baldeo_mecanico_aceras_peatonales")]
public int v_desp_BalMAP { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Baldeo mixto")]
[Description("Velocidad de desplazamiento de baldeo mixto")]
public int v_desp_BalMix { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Brigada limpieza")]
[Description("Velocidad de desplazamiento de brigada de limpieza")]
public int v_desp_BL { get; set; }
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Caída hoja")]
[Description("Velocidad de desplazamiento de Caída de hoja")]
public int v_desp_CH { get; set; }
[Browsable(false)]//Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Baldeo mecánico calzadas")]
[Description("Velocidad de desplazamiento de baldeo mecánico de calzadas")]
public int v_desp_BalMC { get; set; }
[Browsable(false)] //Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Vaciado papeleras")]
[Description("Velocidad de desplazamiento de vaciado de papeleras")]
public int v_desp_VPap { get; set; }
[Browsable(false)] //Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Limpieza papeleras")]
[Description("Velocidad de desplazamiento de limpieza de papeleras")]
public int v_desp_LPap { get; set; }
[Browsable(false)] //Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Limpieza contenedores")]
[Description("Velocidad de desplazamiento de Limpieza de contenedores")]
public int v_desp_LC { get; set; }
[Browsable(false)] //Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Limpieza zonas infantiles")]
[Description("Velocidad de desplazamiento de Limpieza de zonas infantiles")]
public int v_desp_LZI { get; set; }
[Browsable(false)] //Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Limpieza pipicanes")]
[Description("Velocidad de desplazamiento de Limpieza de pipicanes")]
public int v_desp_LPip { get; set; }
[Browsable(false)] //Es 0 porque va según la vía
[Category("Velocidades de Desplazamiento Limpieza (km/h) - Avanzadas")] //OCULTAR
[DisplayName("Limpieza saneacanes")]
[Description("Velocidad de desplazamiento de Limpieza de sanecanes")]
public int v_desp_LS { get; set; }
#endregion
#region 12TiemposRecoAvanz
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Carga Trasera")]
[Description("")]
public int t_vaci_trasera { get; set; }
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Carga Lateral")]
[Description("")]
public int t_vaci_lateral { get; set; }
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Carga superior")]
[Description("")]
public int t_vaci_superior { get; set; }
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Carga Bilateral")]
[Description("")]
public int t_vaci_bilateral { get; set; }
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Bolseo")]
[Description("")]
public int t_vaci_bolseo { get; set; }
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Lavado")]
[Description("")]
public int t_vaci_lavado { get; set; }
[Category("Tiempos de Tratamiento Recogida (min) - Avanzadas")]//OCULTAR
[DisplayName("Otro tipo de carga")]
[Description("")]
public int t_vaci_otra { get; set; }
#endregion
#region 13DensRecoAvanz
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Orgánica en Vehículo")]
[Description("")]
public int dens_vehi_org { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Resto en Vehículo")]
[Description("")]
public int dens_vehi_res { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Envases en Vehículo")]
[Description("")]
public int dens_vehi_env { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Papel en Vehículo")]
[Description("")]
public int dens_vehi_pap { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Vidrio en Vehículo")]
[Description("")]
public int dens_vehi_vid { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Otra fracción en Vehículo")]
[Description("")]
public int dens_vehi_otr { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Orgánica en Contenedor")]
[Description("")]
public int dens_cont_org { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Resto en Contenedor")]
[Description("")]
public int dens_cont_res { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Envases en Contenedor")]
[Description("")]
public int dens_cont_env { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Papel en Contenedor")]
[Description("")]
public int dens_cont_pap { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Vidrio en Contenedor")]
[Description("")]
public int dens_cont_vid { get; set; }
[Category("Densidades Recogida (kg/m3) - Avanzadas")] //OCULTAR
[DisplayName("Otra fracción en Contenedor")]
[Description("")]
public int dens_cont_otr { get; set; }
#endregion
#region 14CaractRecoAvanz
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Radio de giro máximo vehículo (º)")]
[Description("")]
public double Giro_max_vehiculo { get; set; }
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Ancho vehículo 3 ejes (m)")]
[Description("")]
public double anch_vehi_3 { get; set; }
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Ancho vehículo 2 ejes (m)")]
[Description("")]
public double anch_vehi_2 { get; set; }
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Ancho vehículo satélite (m)")]
[Description("")]
public double anch_vehi_s { get; set; }
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Radio de giro vehículo 3 ejes (º)")]
[Description("")]
public double radio_giro_3 { get; set; }
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Radio de giro vehículo 2 ejes (º)")]
[Description("")]
public double radio_giro_2 { get; set; }
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("Radio de giro vehículo satélite (º)")]
[Description("")]
public double radio_giro_s { get; set; }
[Browsable(false)]
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("")]
[Description("")]
public int kgmax_max { get; set; }
[Browsable(false)]
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("")]
[Description("")]
public int kgmax_min { get; set; }
[Browsable(false)]
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("")]
[Description("")]
public int carga_max_max { get; set; }
[Browsable(false)]
[Category("Características Vehículo Recogida - Avanzadas")]//OCULTAR
[DisplayName("")]
[Description("")]
public int carga_max_min { get; set; }
#endregion
#region 15GenAvanz
[Category("General - Avanzadas")] //OCULTAR
[DisplayName("Puerto de conexión")]
[Description("Puerto de conexión con el proceso olivia")]
public int puerto { get; set; }
[Category("General - Avanzadas")] //OCULTAR
[DisplayName("Desviación máxima relativa")]
[Description("Desviacion maxima relativa permitida entre los tiempos de los sectores, en tanto por 1")]
public double Desv_max { get; set; }
[Category("General - Avanzadas")] //OCULTAR
[DisplayName("Desviación maxima absoluta")]
[Description("Desviacion maxima absoluta permitida entre los tiempos de los sectores. en segundos")]
public double Desv_max_abs { get; set; }
#endregion
#region 16SimbVSMAvanz
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Escaleras")]
[Description("Valor para el atributo escaleras")]
public string atr_esca { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Fuentes")]
[Description("Valor para el atributo fuentes")]
public string atr_fuent { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Paso a nivel")]
[Description("Valor para el atributo papelera para el atributo paso a nivel")]
public string atr_paso_niv { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Areas Terrizas")]
[Description("Valor para el atributo areas terrizas")]
public string atr_terri { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Ocio")]
[Description("Valor para el atributo Ocio")]
public string atr_ocio { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Organismos oficiales")]
[Description("Valor para el atributo organismos oficiales")]
public string atr_org_ofi { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Organismos oficiales")]
[Description("Valor para el atributo parques")]
public string atr_parq { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Parking")]
[Description("Valor para el atributo parking")]
public string atr_park { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Playa")]
[Description("Valor para el atributo playa")]
public string atr_play { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Polideportivo")]
[Description("Valor para el atributo polideportivo")]
public string atr_polid { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("P. interes turistico")]
[Description("Valor para el atributo los puntos de interes turistico")]
public string atr_turis { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Solares")]
[Description("Valor para el atributo solares")]
public string atr_solar { get; set; }
[Browsable(false)]//Estas creo que hay que quitarlas
[Category("Simbología Cartela - Avanzadas")] //OCULTAR
[DisplayName("Suelo")]
[Description("Valor para el atributo uso del suelo")]
public string atr_suelo { get; set; }
#endregion
}
public class EnumToStringUsingDescription : TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
return (sourceType.Equals(typeof(Enum)));
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
return (destinationType.Equals(typeof(String)));
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
{
return base.ConvertFrom(context, culture, value);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (!destinationType.Equals(typeof(String)))
{
throw new ArgumentException("Can only convert to string.", "destinationType");
}
if (!value.GetType().BaseType.Equals(typeof(Enum)))
{
throw new ArgumentException("Can only convert an instance of enum.", "value");
}
string name = value.ToString();
object[] attrs =
value.GetType().GetField(name).GetCustomAttributes(typeof(DescriptionAttribute), false);
return (attrs.Length > 0) ? ((DescriptionAttribute)attrs[0]).Description : name;
}
}
}