135 lines
3.5 KiB
C#
135 lines
3.5 KiB
C#
using ArcGIS.Desktop.Framework.Contracts;
|
|
using OliviaAddInPro.Model.contract;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace OliviaAddInPro
|
|
{
|
|
public class MarchandoUnaDeViewModel : PropertyChangedBase, IprocessManager
|
|
{
|
|
string[] barColors = {"Green","Red","Yellow" };
|
|
enum barColorNum
|
|
{
|
|
BarColorsVerde=0,
|
|
BarColorsRojo,
|
|
BarColorsAmarillo
|
|
}
|
|
public MarchandoUnaDeViewModel()
|
|
{
|
|
Cancelado = false;
|
|
textBtn = "Cancelar";
|
|
enabBtn = true;
|
|
colorBar = System.Windows.Media.Brushes.Green;
|
|
}
|
|
public bool Cancelado { get; set; }
|
|
|
|
private string textProceso;
|
|
public string TextProceso
|
|
{
|
|
get { return textProceso; }
|
|
set { base.SetProperty(ref textProceso, value, () => TextProceso); }
|
|
}
|
|
|
|
private string textEstado;
|
|
public string TextEstado
|
|
{
|
|
get { return textEstado; }
|
|
set { base.SetProperty(ref textEstado, value, () => TextEstado); }
|
|
}
|
|
private string textBtn;
|
|
public string TextBtn
|
|
{
|
|
get { return textBtn; }
|
|
set { base.SetProperty(ref textBtn, value, () => TextBtn); }
|
|
}
|
|
|
|
private bool enabBtn;
|
|
public bool EnabBtn
|
|
{
|
|
get { return enabBtn; }
|
|
set { base.SetProperty(ref enabBtn, value, () => EnabBtn); }
|
|
}
|
|
|
|
private double progreso;
|
|
public double Progreso
|
|
{
|
|
get { return progreso; }
|
|
set { base.SetProperty(ref progreso, value, () => Progreso); }
|
|
}
|
|
|
|
private System.Windows.Media.Brush colorBar;
|
|
public System.Windows.Media.Brush ColorBar
|
|
{
|
|
get { return colorBar; }
|
|
set { base.SetProperty(ref colorBar, value, () => ColorBar);
|
|
}
|
|
}
|
|
|
|
void IprocessManager.SetProceso(string proceso)
|
|
{
|
|
TextProceso = proceso;
|
|
}
|
|
void IprocessManager.Inicia()
|
|
{
|
|
Cancelado = false;
|
|
TextBtn = "Cancelar";
|
|
EnabBtn = true;
|
|
ColorBar = System.Windows.Media.Brushes.Green;
|
|
|
|
}
|
|
void IprocessManager.SetEstado(string estado)
|
|
{
|
|
TextEstado = estado;
|
|
}
|
|
void IprocessManager.SetTextBtn(string textbtn)
|
|
{
|
|
TextBtn = textbtn;
|
|
}
|
|
void IprocessManager.SetProgress(double progresPorcent)
|
|
{
|
|
Progreso = progresPorcent;
|
|
}
|
|
|
|
double IprocessManager.GetProgress()
|
|
{
|
|
return Progreso;
|
|
}
|
|
|
|
bool IprocessManager.Getcancelled()
|
|
{
|
|
return Cancelado;
|
|
}
|
|
|
|
void IprocessManager.Setcancelled()
|
|
{
|
|
CancelaOperacion();
|
|
}
|
|
public void CancelaOperacion()
|
|
{
|
|
if(textBtn== "Cancelar")
|
|
TextProceso = "Cancelando proceso";
|
|
else
|
|
TextProceso = "Proceso finalizado.";
|
|
Cancelado = true;
|
|
|
|
//deshabilita el botón
|
|
EnabBtn = false;
|
|
}
|
|
void IprocessManager.PonBarColorVerde()
|
|
{
|
|
ColorBar = System.Windows.Media.Brushes.Green;
|
|
}
|
|
void IprocessManager.PonBarColorRojo()
|
|
{
|
|
Progreso = 100;
|
|
ColorBar = System.Windows.Media.Brushes.Red;
|
|
}
|
|
|
|
}
|
|
}
|