示例#1
0
        public void Update()
        {
            try
            {
                RegistrySettingManager registrySettingManager=new RegistrySettingManager();

                string osVersion=Methods.GetOsVersion();
                int numberOfModules = 1;
                int moduleType = 1;
                int moduleVersion = registrySettingManager.Module1Version;

                HttpWebRequest request = this.SendPostRequest(RscSetting.UpdateServiceAddress,null, _softwareSerial, _hardwareSerial,osVersion
                    , numberOfModules, moduleType,moduleVersion);

                _httpWebRequestState = new WebRequestState(1024);
                _httpWebRequestState.StartTime = DateTime.Now;
                _httpWebRequestState.Request = request;

                if (!Cancel)
                    request.BeginGetResponse(this.ResponseCallback, _httpWebRequestState);
            }
            catch (Exception exp)
            {
                Logger.Log(exp, "Update - Update");
                OnDownloadCompleted(true);
            }
        }
示例#2
0
        public void Update()
        {
            try
            {
                HttpWebRequest request = this.SendPostRequest(RscSetting.UpdateServiceAddress, null, _softwareSerial, _hardwareSerial, 0, 0);
                _httpWebRequestState = new WebRequestState(1024);
                _httpWebRequestState.StartTime = DateTime.Now;
                _httpWebRequestState.Request = request;

                if (!Cancel)
                    request.BeginGetResponse(this.ResponseCallback, _httpWebRequestState);
            }
            catch (Exception exp)
            {
                Logger.Log(exp, "Update - Update");
                OnDownloadCompleted(true);
            }
        }
示例#3
0
 private void ReleaseResources(WebRequestState requestState,bool errorOccured)
 {
     requestState.ResponseStream.Close();
     requestState.Response.Close();
     OnDownloadCompleted(errorOccured);
 }
示例#4
0
        private bool CheckResponseValidationAndThrowException(WebRequestState webRequestState)
        {
            if (webRequestState.Response.Cookies.Count == 0)
            {
                //throw new UpdateException(UpdateErrorType.NoResponse);
                Methods.ShowStandardMsgBox(FormMessageType.Error, "خطا", "خطایی در حین برقراری ارتباط رخ داده است. لطفا مجددا تلاش کنید.");
                return false;
            }

            CookieResponse cookieResponse = GetResponse(webRequestState.Response.Cookies);

            /*
            if (cookieResponse.UpdateErrorType == UpdateErrorType.Succeed)
            {
                if (webRequestState.ContentLength == 0)
                {
                    throw new UpdateException(UpdateErrorType.NoNewerVersion);
                }
            }

            throw new UpdateException(cookieResponse.UpdateErrorType);
            */

            if (cookieResponse.UpdateErrorType == UpdateErrorType.Succeed)
            {
                if (webRequestState.Response.ContentLength == 0)
                {
                    Methods.ShowStandardMsgBox(FormMessageType.Error, "به روز رسانی", "شما در حال حاضر از آخرین نسخه استفاده می نمایید.");
                    return false;
                }
                return true;
            }

            if (cookieResponse.UpdateErrorType == UpdateErrorType.SoftwareSerial) //software serial
            {
                Methods.ShowStandardMsgBox(FormMessageType.Error, "خطا", "شماره سریال نرم افزار اشتباه می باشد.");
            }
            else if (cookieResponse.UpdateErrorType == UpdateErrorType.HardwareSerial)  //hardware serial
            {
                Methods.ShowStandardMsgBox(FormMessageType.Error, "خطا", "دستگاه شما نمی تواند به روز رسانی را دریافت نماید.");
            }
            else if (cookieResponse.UpdateErrorType == UpdateErrorType.Error) //error
            {
                Methods.ShowStandardMsgBox(FormMessageType.Error, "خطا", "خطایی در حین برقراری ارتباط رخ داده است. لطفا مجددا تلاش کنید.");
            }

            return false;
        }