using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Compiler; using RM.Lib; using RM.Lib.Workflow; using RM.Lib.WinForms; using RM.Mov.Processos; using System.Drawing; namespace RM.Spx.Exemplo.Activities { /// <summary> /// Atividade de formula visual para cancelamento de movimento /// </summary> /// Atributo que define categoria de FV. [RMSActivityCategory(typeof(Properties.Resources), "SCategoryTreinamentoActivity")] [RMSDescription(typeof(Properties.Resources), "sActivityCancelMovimento")] [ToolboxBitmap(typeof(Properties.Resources), "Resources.Imagem.png")] public class CancelarMovimentoActivity : RMSActivity { #region [Dados de contexto] /// <summary> /// Informações do contexto /// </summary> [Browsable(false)] public RMSContext Contexto { get; protected set; } /// <summary> /// Inicializar a classe /// </summary> /// <param name="provider"></param> protected override void Initialize(IServiceProvider provider) { base.Initialize(provider); Contexto = BrokerService.GetContext(); } #endregion [Dados de contexto] #region [Propriedades] //Define que a propriedade Parametro como DependencyProperty public static readonly DependencyProperty ColigadaProperty = DependencyProperty.Register("Coligada", typeof(int?), typeof(CancelarMovimentoActivity)); //donotlocalize public static readonly DependencyProperty IdMovimentoProperty = DependencyProperty.Register("IdMovimento", typeof(int?), typeof(CancelarMovimentoActivity)); //donotlocalize public static readonly DependencyProperty MotivoCancelamentoProperty = DependencyProperty.Register("MotivoCancelamento", typeof(string), typeof(CancelarMovimentoActivity)); //donotlocalize public static readonly DependencyProperty ApagaMovRelacProperty = DependencyProperty.Register("ApagaMovRelac", typeof(bool?), typeof(CancelarMovimentoActivity)); //donotlocalize [RMSDescription(typeof(Properties.Resources), "SDescriptionColigada")]//donotlocalize [Category("Parametros")]//donotlocalize public int? Coligada { get { return base.GetValue(ColigadaProperty) as int?; } set { base.SetValue(ColigadaProperty, value); } } [RMSDescription(typeof(Properties.Resources), "SDescriptionIdMovimento")]//donotlocalize [Category("Parametros")]//donotlocalize public int? IdMovimento { get { return base.GetValue(IdMovimentoProperty) as int?; } set { base.SetValue(IdMovimentoProperty, value); } } [RMSDescription(typeof(Properties.Resources), "SDescriptionMotivoCancelamento")]//donotlocalize [Category("Parametros")]//donotlocalize public string MotivoCancelamento { get { return base.GetValue(MotivoCancelamentoProperty) as string; } set { base.SetValue(MotivoCancelamentoProperty, value); } } [RMSDescription(typeof(Properties.Resources), "SDescriptionApagaRelac")]//donotlocalize [Category("Parametros")]//donotlocalize public bool? ApagaMovRelac { get { return base.GetValue(ApagaMovRelacProperty) as bool?; } set { base.SetValue(ApagaMovRelacProperty, value); } } #endregion
//Implementacao da regra de negocio protected override void OnExecute() { IRMSProcess processoCancelamento = RMSBroker.CreateServer<IRMSProcess>("MovCancelMovProc"); //Le classe de parametros default do processo MovCancelMovProcParams parametroCancelamento = (MovCancelMovProcParams) processoCancelamento.ReadParams(null); parametroCancelamento.MovimentosACancelar = new List<MovimentosCancelar>(); MovimentosCancelar movimento = new MovimentosCancelar(); parametroCancelamento.MovimentosACancelar.Add(movimento); parametroCancelamento.Context = Contexto; //Dados passados por parametro movimento.CodColigada = RMSConvert.ToInt32(Coligada,0); movimento.IdMov = RMSConvert.ToInt32(IdMovimento, 0); movimento.MotivoCancelamento = MotivoCancelamento; //Dados default movimento.DataCancelamento = DBS.ServerNow(); movimento.CodUsuarioLogado = Contexto.CodUsuario; movimento.CodSistemaLogado = Contexto.CodSistema; movimento.IdExercicioFiscal = Contexto.ExercicioFiscal;
//Converte em classe generica RMSParamsProc paramsProc = (RMSParamsProc)parametroCancelamento;
//Consome o processo padrao processoCancelamento.Execute(ref paramsProc); if (processoCancelamento.Status == RMSProcessStatus.Error) { throw new Exception(processoCancelamento.StatusMessage); } } } } |