/// <summary>
        /// Realiza la busqueda de variables globales
        /// </summary>
        /// <param name="codigoPlantilla">Código de plantilla</param>
        /// <returns>Variables Globales</returns>
        public ProcessResult <List <VariableResponse> > BuscarVariableGlobal(string codigoPlantilla)
        {
            ProcessResult <List <VariableResponse> > resultado = new ProcessResult <List <VariableResponse> >();

            try
            {
                Guid?codPlantilla = codigoPlantilla != null ? new Guid(codigoPlantilla) : (Guid?)null;

                List <VariableLogic> listado = variableLogicRepository.BuscarVariableGlobal(codPlantilla);

                resultado.Result = new List <VariableResponse>();
                foreach (var registro in listado)
                {
                    var variableResponse = new VariableResponse();

                    variableResponse.CodigoVariable = registro.CodigoVariable;
                    //variableResponse.CodigoPlantilla = (Guid)registro.CodigoPlantilla;
                    variableResponse.CodigoPlantilla = Guid.Parse(codigoPlantilla);
                    variableResponse.Nombre          = registro.Nombre;
                    variableResponse.Identificador   = registro.Identificador;

                    resultado.Result.Add(variableResponse);
                }
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <PlantillaRequerimientoService>(e);
            }
            return(resultado);
        }
Пример #2
0
        /// <summary>
        /// Realiza la adaptación de campos logic a response
        /// </summary>
        /// <param name="variableLogic">Lista de variables tipo Logic</param>
        /// <returns>Lista de variables tipo response</returns>
        public static VariableResponse ObtenerVariable(VariableLogic variableLogic, List <PlantillaResponse> plantilla, List <CodigoValorResponse> tipoVariable)
        {
            var    variableResponse = new VariableResponse();
            string sPlantilla       = null;
            string sTipos           = null;

            if (plantilla != null)
            {
                var listaPlantilla = plantilla.Where(n => n.CodigoPlantilla.ToString() == variableLogic.CodigoPlantilla.ToString()).FirstOrDefault();
                sPlantilla = (listaPlantilla == null) ? null : listaPlantilla.Descripcion.ToString();
            }

            if (tipoVariable != null)
            {
                var tipos = tipoVariable.Where(t => variableLogic.CodigoTipo.Equals(t.Codigo)).FirstOrDefault();
                sTipos = tipos.Valor.ToString();
            }


            variableResponse.CodigoVariable             = variableLogic.CodigoVariable;
            variableResponse.CodigoPlantilla            = variableLogic.CodigoPlantilla;
            variableResponse.DescripcionCodigoPlantilla = sPlantilla;
            variableResponse.Identificador = variableLogic.Identificador;
            variableResponse.IdentificadorSinAlmohadilla = variableLogic.Identificador.Replace(DatosConstantes.IdentificadorVariable.Almohadilla, string.Empty);
            variableResponse.Nombre                   = variableLogic.Nombre;
            variableResponse.CodigoTipo               = variableLogic.CodigoTipo;
            variableResponse.DescripcionCodigoTipo    = sTipos;
            variableResponse.DescripcionTipoVariable  = variableLogic.DescripcionTipoVariable;
            variableResponse.IndicadorGlobal          = variableLogic.IndicadorGlobal;
            variableResponse.IndicadorVariableSistema = variableLogic.IndicadorVariableSistema;
            variableResponse.Descripcion              = variableLogic.Descripcion;
            return(variableResponse);
        }
        public VariableResponse ReadVariables(VariableInfo info)
        {
            if (info == null)
            {
                return(null);
            }
            ;

            var response = new VariableResponse(info.CpuName);

            if (_service.Cpus.ContainsKey(info.CpuName))
            {
                var cpu = _service.Cpus[info.CpuName];

                foreach (var variable in info.Variables)
                {
                    if (cpu.Variables.ContainsKey(variable))
                    {
                        var value = ConvertVariableValue(cpu.Variables[variable].Value);
                        response.AddValue(variable, value);
                    }
                }
            }

            return(response);
        }
Пример #4
0
        public void Process_MessageActionReadAllVariables_CallsReadAllVariables()
        {
            var m = new Message
            {
                Id     = guid,
                Action = MessageAction.ReadAllVariables,
                Data   = "cpu1"
            };

            var variableResponse = new VariableResponse("cpu1");

            variableResponse.AddValue("variable1", "value1");
            variableResponse.AddValue("variable2", "value2");
            variableResponse.AddValue("variable3", "value3");

            var message = JsonConvert.SerializeObject(m);
            Mock <IPviApplication> pviApplicationMock = new Mock <IPviApplication>();

            pviApplicationMock.Setup(p => p.ReadAllVariables(It.IsAny <string>())).Returns(variableResponse);
            var proc     = new MessageProcessor(pviApplicationMock.Object);
            var response = proc.Process(message);

            pviApplicationMock.Verify(p => p.ReadAllVariables(It.IsAny <string>()), Times.Once);

            var result = JsonConvert.DeserializeObject <VariableResponse>(response.Message);

            Assert.NotNull(result);
            Assert.IsType <VariableResponse>(result);
            Assert.True(3 == result.Values.Length);

            for (int i = 0; i < variableResponse.Values.Length; i++)
            {
                Assert.Equal(variableResponse.Values[i].Name, result.Values[i].Name);
                Assert.Equal(variableResponse.Values[i].Value, result.Values[i].Value);
            }
        }