Exemple #1
0
        /// <summary>
        /// Parses the Get Response from the stream
        /// </summary>
        /// <param name="dataStream">The data stream to parse from</param>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------
        //  02/04/12 RCG 2.70.63 N/A    Created

        public override void Parse(Stream dataStream)
        {
            base.Parse(dataStream);

            m_Result = new GetDataResult();
            m_Result.Parse(dataStream);
        }
        public void CallTheDataProvider(ICollection<IPointToLaceProvider> response)
        {
            try
            {
                var webService = new ConfigureAudatex()
                    .Create();

                var request = new ConfigureRequestMessage(response)
                    .Build()
                    .AudatexRequest;

                _logCommand.LogConfiguration(new { EndPoint = new { webService.Client.Endpoint, webService.Client.State }}, request);

                _logCommand.LogRequest(new ConnectionTypeIdentifier(webService.Client.Endpoint.Address.ToString()).ForWebApiType(), request);

                _response = webService
                    .Client
                    .GetDataEx(GetCredentials(), request.MessageType, request.Message, 0);

                _logCommand.LogResponse(_response != null ? DataProviderState.Successful : DataProviderState.Failed, new ConnectionTypeIdentifier(webService.Client.Endpoint.Address.ToString()).ForWebApiType(),response);
                
                webService.Close();

                if (_response == null)
                    _logCommand.LogFault(_dataProvider,  new {NoRequestReceived = "No response received from Audatex Data Provider"});

                TransformResponse(response);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Error calling Audatex Data Provider {0}",ex, ex.Message);
                _logCommand.LogFault(ex.Message, new {ErrorMessage = "Error calling Audatex Data Provider"});
                AudatexResponseFailed(response);
            }
        }
Exemple #3
0
 private void _parse()
 {
     _present = m_io.ReadU1();
     if (Present != 0)
     {
         _value = new GetDataResult(m_io, this, m_root);
     }
 }
        public TransformAudatexResponse(GetDataResult audatexResponse, ICollection<IPointToLaceProvider> response)
        {
            Continue = audatexResponse != null && !string.IsNullOrEmpty(audatexResponse.MessageEnvelope);
            Result = new AudatexResponse(new List<IProvideAccidentClaim>());
            Message = audatexResponse;

            _response = response;
            //_request = request;

            _manufacturer = GetManufacturer();
            _canApplyRepairInfo = !string.IsNullOrEmpty(_manufacturer);

            _warrantyYear = GetYear();
        }
Exemple #5
0
        public void UpdateData_should_return_success_if_get_update_set_data_are_successful()
        {
            const string path  = "zk/default";
            var          bytes = new byte[] { 0, 1, 1, 2, 3, 5, 8, 13 };

            zooKeeperClient.GetDataAsync(Arg.Any <GetDataRequest>())
            .Returns(GetDataResult.Successful(path, bytes, Stat));

            zooKeeperClient.SetDataAsync(Arg.Any <SetDataRequest>()).Returns(SetDataResult.Successful(path, Stat));

            zooKeeperClient.UpdateData(new UpdateDataRequest(path, dummyUpdate))
            .Should()
            .BeEquivalentTo(UpdateDataResult.Successful(path));
        }
Exemple #6
0
        public void UpdateData_should_return_fail_without_retries_if_cant_read_data(ZooKeeperStatus errorStatus)
        {
            const string path = "zk/default";

            zooKeeperClient.GetDataAsync(Arg.Any <GetDataRequest>()).Returns(GetDataResult.Unsuccessful(errorStatus, path, null));

            zooKeeperClient.UpdateData(new UpdateDataRequest(path, dummyUpdate))
            .Should()
            .BeEquivalentTo(UpdateDataResult.Unsuccessful(errorStatus, path, null));

            zooKeeperClient.ReceivedWithAnyArgs(1)
            .GetDataAsync(Arg.Any <GetDataRequest>());
            zooKeeperClient.DidNotReceiveWithAnyArgs()
            .SetDataAsync(Arg.Any <SetDataRequest>());
        }
Exemple #7
0
        public GetDataResult GetData(DxGridParams gridParams, IQueryable <dynamic> query)
        {
            GetDataResult result = new GetDataResult();

            query = query.FilterByOptions <dynamic>(gridParams);

            result.TotalCount = query.LongCount();

            query = query.SortByOptions(gridParams)
                    .PageByOptions(gridParams);

            result.ItemList = query.ToList <object>();

            return(result);
        }
Exemple #8
0
        public GetDataResult <TResult> GetData <TResult>(DxGridParams gridParams, IQueryable <TResult> query)
        {
            GetDataResult <TResult> result = new GetDataResult <TResult>();

            query = query.FilterByOptions(gridParams);

            result.TotalCount = query.LongCount();

            query = query.SortByOptions(gridParams)
                    .PageByOptions(gridParams);

            result.ItemList = query.ToList <TResult>();

            return(result);
        }
Exemple #9
0
        public void UpdateData_should_return_false_after_one_attempt_if_set_data_fails(ZooKeeperStatus failFastStatus)
        {
            const string path  = "zk/default";
            var          bytes = new byte[] { 0, 1, 1, 2, 3, 5, 8, 13 };

            zooKeeperClient.GetDataAsync(Arg.Any <GetDataRequest>())
            .Returns(GetDataResult.Successful(path, bytes, Stat));

            zooKeeperClient.SetDataAsync(Arg.Any <SetDataRequest>())
            .Returns(SetDataResult.Unsuccessful(failFastStatus, path, null));

            zooKeeperClient.UpdateData(new UpdateDataRequest(path, dummyUpdate))
            .Should()
            .BeEquivalentTo(UpdateDataResult.Unsuccessful(failFastStatus, path, null));

            zooKeeperClient.ReceivedWithAnyArgs(1).SetDataAsync(Arg.Any <SetDataRequest>());
        }
Exemple #10
0
        /// <summary>
        /// Parses the Get Response from the stream
        /// </summary>
        /// <param name="dataStream">The stream to parse from</param>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------
        //  02/04/12 RCG 2.70.63 N/A    Created

        public override void Parse(Stream dataStream)
        {
            DLMSBinaryReader DataReader = new DLMSBinaryReader(dataStream);

            base.Parse(dataStream);

            // Get the length of the list
            int Length = DataReader.ReadLength();

            m_Result = new List <GetDataResult>();

            for (int iIndex = 0; iIndex < Length; iIndex++)
            {
                GetDataResult NewResult = new GetDataResult();
                NewResult.Parse(dataStream);

                m_Result.Add(NewResult);
            }
        }
Exemple #11
0
        public static YamlNode ToYaml(this GetDataResult dataResult)
        {
            switch (dataResult.DataResultValue)
            {
            case DlmsData data:
                return(new YamlMappingNode
                {
                    { "Data", data.ToYaml() }
                });

            case DataAccessResult access:
                return(new YamlMappingNode
                {
                    { "Access-Result", access.Value.ToDisplayString() }
                });

            default:
                return(new YamlMappingNode());
            }
        }
Exemple #12
0
        public void UpdateData_should_make_all_attempts_to_set_data_and_return_fail()
        {
            const string path     = "zk/default";
            const int    attempts = 10;
            var          bytes    = new byte[] { 0, 1, 1, 2, 3, 5, 8, 13 };

            zooKeeperClient.GetDataAsync(Arg.Any <GetDataRequest>())
            .Returns(GetDataResult.Successful(path, bytes, Stat));

            zooKeeperClient.SetDataAsync(Arg.Any <SetDataRequest>())
            .Returns(SetDataResult.Unsuccessful(ZooKeeperStatus.VersionsMismatch, path, null));

            zooKeeperClient.UpdateData(new UpdateDataRequest(path, dummyUpdate)
            {
                Attempts = attempts
            })
            .Should()
            .BeEquivalentTo(UpdateDataResult.Unsuccessful(ZooKeeperStatus.VersionsMismatch, path, null));

            zooKeeperClient.ReceivedWithAnyArgs(attempts)
            .SetDataAsync(Arg.Any <SetDataRequest>());
        }
Exemple #13
0
        public void UpdateData_should_not_apply_update_when_bytes_not_changed()
        {
            const string path         = "zk/default";
            const int    attempts     = 10;
            var          bytes        = new byte[] { 0, 1, 1, 2, 3, 5, 8, 13 };
            var          updatedBytes = new byte[] { 0, 1, 1, 2, 3, 5, 8, 13 };

            byte[] UpdateFunc(byte[] oldBytes) =>
            updatedBytes;

            zooKeeperClient.GetDataAsync(Arg.Any <GetDataRequest>())
            .Returns(GetDataResult.Successful(path, bytes, Stat));

            zooKeeperClient.UpdateData(new UpdateDataRequest(path, UpdateFunc)
            {
                Attempts = attempts
            })
            .Should().BeEquivalentTo(UpdateDataResult.Successful(path));

            zooKeeperClient
            .DidNotReceiveWithAnyArgs()
            .SetDataAsync(Arg.Any <SetDataRequest>());
        }
Exemple #14
0
        public void UpdateData_should_apply_update_func_to_bytes()
        {
            const string path         = "zk/default";
            const int    attempts     = 10;
            var          bytes        = new byte[] { 0, 1, 1, 2, 3, 5, 8, 13 };
            var          updatedBytes = new byte[] { 3, 1, 4, 2 };

            byte[] UpdateFunc(byte[] oldBytes) =>
            updatedBytes;

            zooKeeperClient.GetDataAsync(Arg.Any <GetDataRequest>())
            .Returns(GetDataResult.Successful(path, bytes, Stat));

            zooKeeperClient.SetDataAsync(Arg.Any <SetDataRequest>())
            .Returns(SetDataResult.Unsuccessful(ZooKeeperStatus.VersionsMismatch, path, null));

            zooKeeperClient.UpdateData(new UpdateDataRequest(path, UpdateFunc)
            {
                Attempts = attempts
            });

            zooKeeperClient.Received(attempts)
            .SetDataAsync(Arg.Is <SetDataRequest>(sendReq => sendReq.Data.Equals(updatedBytes)));
        }
Exemple #15
0
        /// <summary>
        /// Constructor
        /// </summary>
        //  Revision History
        //  MM/DD/YY who Version Issue# Description
        //  -------- --- ------- ------ ---------------------------------------
        //  02/04/12 RCG 2.70.63 N/A    Created

        public GetResponseNormal()
        {
            m_Result = new GetDataResult();
        }
Exemple #16
0
        public static Item ToItem(this GetDataResult result)
        {
            if (result == null)
            {
                return(null);
            }

            // resolve name
            var name = result.Name;

            if (!string.IsNullOrEmpty(result.Key))
            {
                var m = Regex.Match(result.Key, @"\[([\w\W]+?)\]");
                if (m.Success)
                {
                    var valuesString = m.Groups[1].Value;
                    if (!string.IsNullOrEmpty(valuesString))
                    {
                        var values = valuesString.Split(",".ToCharArray());
                        for (var i = 1; i <= values.Length; i++)
                        {
                            name = name.Replace("$" + i, values[i - 1]);
                        }
                    }
                }
            }

            // resolve value
            var formatProvider = new NumberFormatInfo {
                NumberDecimalSeparator = "."
            };
            var value = result.Value;

            if (!string.IsNullOrEmpty(result.Formula))
            {
                try
                {
                    if (result.ValueType == 0)
                    {
                        var formula        = Convert.ToDouble(result.Formula, formatProvider);
                        var valueConverted = Convert.ToDouble(result.Value, formatProvider);
                        value = (formula * valueConverted).ToString(CultureInfo.InvariantCulture);
                    }
                    if (result.ValueType == 3)
                    {
                        var formula        = Convert.ToDouble(result.Formula, formatProvider);
                        var valueConverted = Convert.ToInt64(result.Value);
                        value = (formula * valueConverted).ToString(CultureInfo.InvariantCulture);
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Error while converting values: {0}", ex);
                }
            }

            // remove 0 from float numbers
            if (result.ValueType == 0)
            {
                try
                {
                    var valueConverted = Convert.ToDouble(value, formatProvider);
                    value = valueConverted.ToString(CultureInfo.InvariantCulture);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Error while converting values: {0}", ex);
                }
            }

            return(new Item
            {
                ItemId = result.ItemId,
                Name = name,
                Value = value,
                ValueType = result.ValueType,
                Units = result.Units,
                HostId = result.HostId
            });
        }
Exemple #17
0
 public IncrementalResult(GetDataResult res)
 {
     this.Data = res;
 }