コード例 #1
0
ファイル: Ami_Control.cs プロジェクト: pledezma/CAR_AMI_LIB
        public bool GetDisconnectMeterResult(string token)
        {
            bool                   r                      = true;
            var                    json                   = "";
            string                 result                 = "";
            TokenController        tokenController        = null;
            List <string>          tranList               = null;
            TokenFailureController tokenFailureController = null;

            model.Ami_Control ami_Control = null;
            model.Ami_Period  ami_Period  = null;
            model.Ami_Token   ami_Token   = null;
            Ami_Control_Service.EndpointFailure       service_endpointFailure = new Ami_Control_Service.EndpointFailure();
            Ami_Control_Service.ControlServiceClient  controlServiceClient    = new Ami_Control_Service.ControlServiceClient();
            Ami_Control_Service.RequestToken          requestToken            = new Ami_Control_Service.RequestToken();
            Ami_Control_Service.EndpointRequestResult endpointRequestResult   = new Ami_Control_Service.EndpointRequestResult();
            Guid d = new Guid(token);

            requestToken.Id = d;
            try
            {
                ami_Control           = new model.Ami_Control();
                endpointRequestResult = controlServiceClient.GetDisconnectMeterResult(requestToken);
                result   = endpointRequestResult.Result.ToString();
                tranList = new List <string>();
                if (result == "Success")//3
                {
                    json = JsonConvert.SerializeObject(endpointRequestResult);
                    ami_Control.jsonData = help.Base64Encode(json);
                    ami_Control.meter    = endpointRequestResult.ElectronicSerialNumber;
                    ami_Control.status   = endpointRequestResult.Result.ToString();
                    ami_Control.token    = token;
                    tranList.Add(ami_Control.qInsert());
                    tokenController = new TokenController();
                    tranList.Add(tokenController.qSuccsess(token));
                    r = ami_Control.transaction(tranList);
                }
                else if (result == "Failure")//5
                {
                    EndpointFailure endpointFailure = new EndpointFailure();
                    service_endpointFailure = endpointRequestResult.MeterFailure;
                    tranList        = endpointFailure.qInsert(service_endpointFailure, token);
                    tokenController = new TokenController();
                    tranList.Add(tokenController.qFailure(token));
                    r = ami_Control.transaction(tranList);
                }
                else if (result == "Cancell")//4
                {
                    tokenController = new TokenController();
                    tranList.Add(tokenController.qCancell(token));
                    r = ami_Control.transaction(tranList);
                }
            }
            catch (Exception e)
            {
                //GetDisconnectMeterResult(token);
            }

            return(r);
        }
コード例 #2
0
        public List <Ami_Token_Failure> convertFailure(dynamic endpointFailureResult, string token)
        {
            Ami_Token_Failure        ami_Token_Failure      = null;
            List <Ami_Token_Failure> list_Ami_Token_Failure = null;
            dynamic dyObj = null;
            var     json  = "";
            bool    n     = false;
            var     param = endpointFailureResult;

            if (param is Ami_Diagnostic_Service.EndpointFailureResult)
            {
                n = true;
                Ami_Diagnostic_Service.EndpointFailureResult obj = new Ami_Diagnostic_Service.EndpointFailureResult();
                obj   = param;
                dyObj = obj;
            }
            else if (param is Ami_Control_Service.EndpointFailureResult)
            {
                n = true;
                Ami_Control_Service.EndpointFailureResult obj = new Ami_Control_Service.EndpointFailureResult();
                obj   = param;
                dyObj = obj;
            }
            else if (param is Ami_Control_Service.EndpointFailure)
            {
                Ami_Control_Service.EndpointFailure obj = new Ami_Control_Service.EndpointFailure();
                obj   = param;
                dyObj = obj;
            }
            else if (param is Ami_Data_Service.EndpointFailureResult)
            {
                n = true;
                Ami_Data_Service.EndpointFailureResult obj = new Ami_Data_Service.EndpointFailureResult();
                obj   = param;
                dyObj = obj;
            }
            else if (param is Ami_Data_Service.EndpointFailure)
            {
                Ami_Data_Service.EndpointFailure obj = new Ami_Data_Service.EndpointFailure();
                obj   = param;
                dyObj = obj;
            }


            if (dyObj != null)
            {
                list_Ami_Token_Failure = new List <Ami_Token_Failure>();

                json = JsonConvert.SerializeObject(dyObj);
                json = help.Base64Encode(json);
                if (n)
                {
                    for (int i = 0; i < dyObj.Failures.Length; i++)
                    {
                        ami_Token_Failure             = new Ami_Token_Failure();
                        ami_Token_Failure.token       = token;
                        ami_Token_Failure.reason      = dyObj.Failures[i].FailureReason.ToString();
                        ami_Token_Failure.description = dyObj.Failures[i].Description.ToString();
                        ami_Token_Failure.jsonData    = json;

                        list_Ami_Token_Failure.Add(ami_Token_Failure);
                    }
                }
                else
                {
                    ami_Token_Failure             = new Ami_Token_Failure();
                    ami_Token_Failure.token       = token;
                    ami_Token_Failure.reason      = dyObj.FailureReason.ToString();
                    ami_Token_Failure.description = dyObj.Description.ToString();
                    ami_Token_Failure.jsonData    = json;

                    list_Ami_Token_Failure.Add(ami_Token_Failure);
                }
            }
            return(list_Ami_Token_Failure);
        }
コード例 #3
0
ファイル: Ami_Data.cs プロジェクト: pledezma/CAR_AMI_LIB
        public bool GetInteractiveReadByEndpointResult(string token)
        {
            var    json   = "";
            bool   r      = false;
            string result = "";

            Ami_Control_Service.EndpointFailure service_endpointFailure = new Ami_Control_Service.EndpointFailure();
            Ami_Data_Service.InteractiveReadByEndpointResult interactiveReadByEndpointResult = null;
            Ami_Data_Service.RequestToken requestToken = new Ami_Data_Service.RequestToken();
            Guid guid = new Guid(token);

            requestToken.Id = guid;
            Ami_Data_Service.DataServiceClient dataServiceClient = new Ami_Data_Service.DataServiceClient();
            model.Ami_Reads        ami_Reads              = null;
            model.Ami_Period       ami_Period             = null;
            model.Ami_Token        ami_Token              = null;
            model.cnx              cnx                    = null;
            TokenController        tokenController        = null;
            List <string>          tranList               = null;
            TokenFailureController tokenFailureController = null;

            try
            {
                tranList = new List <string>();
                interactiveReadByEndpointResult = new Ami_Data_Service.InteractiveReadByEndpointResult();
                ami_Reads  = new model.Ami_Reads();
                ami_Period = new model.Ami_Period();
                interactiveReadByEndpointResult = dataServiceClient.GetInteractiveReadByEndpointResult(requestToken);
                result = interactiveReadByEndpointResult.Result.ToString();

                if (result == "Success")//3
                {
                    json = JsonConvert.SerializeObject(interactiveReadByEndpointResult);
                    if (ami_Period.getLastPeriod() != null)
                    {
                        ami_Reads.period = ami_Period.getLastPeriod()[0].id;
                    }
                    else
                    {
                        ami_Reads.period = 0;
                    }
                    ami_Reads.readjson = help.Base64Encode(json);

                    ami_Reads.esn           = interactiveReadByEndpointResult.Identifier;
                    ami_Reads.token_request = interactiveReadByEndpointResult.RequestToken.Id.ToString();
                    ami_Reads.token_result  = interactiveReadByEndpointResult.Result.ToString();
                    if (interactiveReadByEndpointResult.ReadDataCollection.Length > 0)
                    {
                        ami_Reads.serialnumber = interactiveReadByEndpointResult.ReadDataCollection[0].DeviceSerialNumber.ToString();
                        ami_Reads.cod_medidor  = interactiveReadByEndpointResult.ReadDataCollection[0].DeviceSerialNumber.ToString();

                        /*
                         * ami_Reads.whd = int.Parse(interactiveReadByEndpointResult.ReadDataCollection[0].RegisterValues[0].Value.ToString());
                         * ami_Reads.whr = int.Parse(interactiveReadByEndpointResult.ReadDataCollection[0].RegisterValues[1].Value.ToString());
                         * ami_Reads.whnet = int.Parse(interactiveReadByEndpointResult.ReadDataCollection[0].RegisterValues[5].Value.ToString());
                         */
                        ami_Reads.fecha_lectura = interactiveReadByEndpointResult.ReadDataCollection[0].RegisterValues[0].Timestamp;
                        foreach (var item in interactiveReadByEndpointResult.ReadDataCollection[0].RegisterValues)
                        {
                            string itemTimLower = item.Quantity.Trim().TrimEnd().TrimStart().ToLower();
                            while (itemTimLower.Contains(" "))
                            {
                                itemTimLower = itemTimLower.Replace(" ", "");
                            }
                            if (itemTimLower == "whd")
                            {
                                ami_Reads.whd = int.Parse(item.Value.ToString());
                                string s = item.Timestamp.ToString();
                            }
                            else if (itemTimLower == "whr")
                            {
                                ami_Reads.whr = int.Parse(item.Value.ToString());
                            }
                            else if (itemTimLower == "whnet")
                            {
                                ami_Reads.whnet = int.Parse(item.Value.ToString());
                            }
                        }
                    }
                    tranList.Add(ami_Reads.qInsert());
                    tokenController = new TokenController();
                    tranList.Add(tokenController.qSuccsess(token));
                    r = ami_Reads.transaction(tranList);
                }
                else if (result == "Failure")//5
                {
                    EndpointFailure endpointFailure = new EndpointFailure();
                    tranList        = endpointFailure.qInsert(interactiveReadByEndpointResult.EndpointFailure, token);
                    tokenController = new TokenController();
                    tranList.Add(tokenController.qFailure(token));
                    r = ami_Reads.transaction(tranList);
                }
                else if (result == "Cancell")//4
                {
                    tokenController = new TokenController();
                    tranList.Add(tokenController.qCancell(token));
                    r = ami_Reads.transaction(tranList);
                }
                else if (result == "Pending")//4
                {
                }
            }
            catch (Exception e)
            {
            }
            return(r);
        }