DepositoCuentasMethods.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using sage.ew.interficies;
6 
7 namespace Sage.ES.S50.Addons
8 {
9  internal class DepositoCuentasMethods : Command
10  {
11  protected bool ret = true;
12  protected Method method;
13  public enum Method
14  {
15  DepositoCuentasSituacionSePuedeModificar,
16  DepositoCuentasPerdidasGananciasSePuedeModificar,
17  DepositoCuentasTipoInformeSePuedeModificar,
18  DepositoCuentasLimpiarDatosCambioTipoInforme,
19  DepositoCuentasECPNASePuedeModificar,
20  DepositoCuentasECPNBSePuedeModificar,
21  DepositoCuentasEFESePuedeModificar,
22  }
23  public DepositoCuentasMethods(IAddonsManager addons, Method method) : base(addons)
24  {
25  this.method = method;
26  Name = Enum.GetName(typeof(Method), method);
27  }
28 
29  protected override void CommandModulo(IModulo modulo, params object[] parameters)
30  {
31  switch (method)
32  {
33  case Method.DepositoCuentasSituacionSePuedeModificar:
34  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasSituacionSePuedeModificar() && ret;
35  break;
36  case Method.DepositoCuentasPerdidasGananciasSePuedeModificar:
37  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasPerdidasGananciasSePuedeModificar() && ret;
38  break;
39  case Method.DepositoCuentasECPNASePuedeModificar:
40  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasECPNASePuedeModificar() && ret;
41  break;
42  case Method.DepositoCuentasLimpiarDatosCambioTipoInforme:
43  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasLimpiarDatosCambioTipoInforme() && ret;
44  break;
45  case Method.DepositoCuentasECPNBSePuedeModificar:
46  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasECPNBSePuedeModificar() && ret;
47  break;
48  case Method.DepositoCuentasEFESePuedeModificar:
49  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasEFESePuedeModificar() && ret;
50  break;
51  case Method.DepositoCuentasTipoInformeSePuedeModificar:
52  ret = ((IModuloDepositoCuentas)modulo).DepositoCuentasTipoInformeSePuedeModificar() && ret;
53  break;
54  default:
55  break;
56  }
57  }
58  protected override bool Condition(KeyValuePair<string, object> addon)
59  {
60  return addon.Value is IModuloDepositoCuentas;
61  }
62  protected override object Return(params object[] parameters)
63  {
64  return ret;
65  }
66  protected override ExpectedParameters GetExpectedParameters()
67  {
68  return null;
69  }
70  protected override bool Exit()
71  {
72  return !ret;
73  }
74  protected override List<KeyValuePair<string, object>> GetAddons()
75  {
76  return oAddons.GetAddons()
77  .Where(addon => addon.Value is IModuloDepositoCuentas)
78  .ToList();
79  }
80 
81  }
82 }
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
Interface para métodos específicos del depósito de cuentas