OliviaAddInPro/ViewModel/Comun/MarchandoUnaDeViewModel.cs

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;
}
}
}