119 lines
3.2 KiB
C#
119 lines
3.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using OliviaAddInPro.Helper;
|
|
using OliviaAddInPro.Services;
|
|
using ArcGIS.Core.Geometry;
|
|
using static OliviaAddInPro.Model.ComunDef;
|
|
using ArcGIS.Desktop.Framework.Threading.Tasks;
|
|
using OliviaAddInPro.Services.LanzaSrv;
|
|
|
|
namespace OliviaAddInPro.Model
|
|
{
|
|
class Recogida : TratamientoComun
|
|
{
|
|
//**********************************************
|
|
//Se recogen en PaneRecogidaSub1
|
|
/**
|
|
* Tipo de fracción
|
|
*/
|
|
public int TipoFrac { get; set; } = -1;
|
|
/**
|
|
* Tipo de fracción
|
|
*/
|
|
public string TipoFracStr { get; set; } = string.Empty;
|
|
/**
|
|
* Tipo de carga
|
|
*/
|
|
public int TipoCarg { get; set; } = -1;
|
|
/**
|
|
* Tipo de carga
|
|
*/
|
|
public string TipoCargStr { get; set; } = string.Empty;
|
|
/**
|
|
* Tipo de Vehículo
|
|
*/
|
|
public int TipoVehic { get; set; } = -1;
|
|
/**
|
|
* Tipo de Lateralidad
|
|
*/
|
|
public int TipoLate { get; set; } = -1;
|
|
/**
|
|
* kg capac camión
|
|
*/
|
|
public int KgMaxVehic { get; set; } = 0;
|
|
/**
|
|
* dens contenedor
|
|
*/
|
|
public int DensCont { get; set; } = 0;
|
|
/**
|
|
* Tiempo de vaciado del contenedor, en seg
|
|
*/
|
|
public int TVaciCont { get; set; } = 0;
|
|
/**
|
|
* kg de carga en cada contenedor
|
|
*/
|
|
public int KgCont { get; set; } = 0;
|
|
/**
|
|
* grados en º de giro del vehículo
|
|
*/
|
|
public int GiroVehic { get; set; } = 0;
|
|
|
|
/*
|
|
*
|
|
* */
|
|
public double AnchoVehiculo
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public RecogidaServ Serv { get; set; } = null;
|
|
public LanzaRecoSrv LanzaSrv { get; set; } = null;
|
|
public Recogida()
|
|
{
|
|
Serv = new RecogidaServ(this);
|
|
LanzaSrv = new LanzaRecoSrv();
|
|
ProgrSrc = new MyCancelableProgressorSource(OliviaGlob.progrDialog);
|
|
ProceSrv = new ProcesoEjecServ();
|
|
}
|
|
|
|
|
|
public TareaRes Ejecuta(ModosEjec modo)
|
|
{
|
|
TareaRes res = null;
|
|
res = Serv.Ejecuta(modo);
|
|
if (!res.Errores)
|
|
{
|
|
var res1 = LanzaSrv.ejec(this, modo, TipoTtoStr);
|
|
if (!res1.HasError)
|
|
{
|
|
ProceSrv.ConfigConex();
|
|
res1 = ProceSrv.start(LanzaSrv.str_cfg, ProgrSrc._ProgrSrc);
|
|
}
|
|
|
|
if (res1.HasError)
|
|
{
|
|
res.Errores = true;
|
|
res.msg = "";
|
|
res1.Error.ForEach(e => res.msg += e + ".\n ");
|
|
}
|
|
}
|
|
return res;
|
|
|
|
}
|
|
public async void EjecutaAsync(ModosEjec modo, Action<TareaRes> ffin)
|
|
{
|
|
await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
|
|
{
|
|
var res = Ejecuta(modo);
|
|
ffin(res);
|
|
return res;
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|