示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="locacaoObject"></param>
        public string EfetuarLocacao(Locacao locacaoObject)
        {
            WebRequestInfo             = (HttpWebRequest)WebRequest.Create(m_requestUrl + "locacao");
            WebRequestInfo.ContentType = "application/json";
            WebRequestInfo.Method      = "POST";

            using (var streamWriter = new StreamWriter(WebRequestInfo.GetRequestStream()))
            {
                string json = "{ ";

                // locação
                json += "\"dataLocacao\":" + "\"" + DateTime.Now.ToString("yyyy/MM/dd") + "\"" + ",";

                // devolução
                json += "\"dataDevolucao\":" + "\"" + locacaoObject.Vencimento.ToString("yyyy/MM/dd") + "\"" + ",";

                // valor
                json += "\"valor\":" + locacaoObject.Valor + ",";

                // cliente
                json += "\"idCliente\":" + locacaoObject.LocacaoCliente.Id + ",";

                // item
                json += "\"idItem\":" + locacaoObject.LocacaoItem.Id + " }";

                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }

            return(Response());
        }
示例#2
0
        /// <summary>
        /// Obtém a data de devolução de algum item
        /// </summary>
        /// <param name="idItem"></param>
        /// <returns></returns>
        public string VencimentoLocacao(int idItem)
        {
            WebRequestInfo             = (HttpWebRequest)WebRequest.Create(m_requestUrl + "informacoesDevolucao");
            WebRequestInfo.ContentType = "application/json";
            WebRequestInfo.Method      = "POST";

            using (var streamWriter = new StreamWriter(WebRequestInfo.GetRequestStream()))
            {
                string json = "{\"idItem\":" + idItem + " }";

                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }

            string resultadoRequest = Response();

            if (!resultadoRequest.Equals("404"))
            {
                dynamic objetoJson = JsonConvert.DeserializeObject <ExpandoObject>(resultadoRequest, new ExpandoObjectConverter());
                return((string)objetoJson.dtDevolucaoPrevista);
            }

            else
            {
                return(resultadoRequest);
            }
        }
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        var authenticationHeaderValue = actionContext.Request.Headers.Authorization;

        try
        {
            if (authenticationHeaderValue != null)
            {
                var webRequestInfo = new WebRequestInfo(actionContext.Request.Method, actionContext.Request.RequestUri);
                this.AuthenticationHeaderService.LogOnUsingAuthenticationHeader(authenticationHeaderValue, webRequestInfo);
            }
            else if (actionContext.Request.Content.IsFormData())
            {
                Task <NameValueCollection> formVals = actionContext.Request.Content.ReadAsFormDataAsync();
                this.AuthenticationFormService.LogOnUsingFormsAuthentication(formVals.Result);

                // reset the underlying stream to the beginning so that others may use it in the future...
                using (var s = new System.IO.MemoryStream())
                {
                    var ctx = (HttpContextBase)actionContext.Request.Properties["MS_HttpContext"];
                    ctx.Request.InputStream.Seek(0, System.IO.SeekOrigin.Begin);
                }
            }
        }
        catch (Exception)
        {
            throw;
        }
    }
示例#4
0
        private string Response()
        {
            try
            {
                using (var response = WebRequestInfo.GetResponse())
                {
                    return(new StreamReader(response.GetResponseStream()).ReadToEnd().ToString());
                }
            }

            catch (Exception ex)
            {
                return("404");
            }
        }
示例#5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idItem"></param>
        public string EfetuarDevolucao(int idItem)
        {
            WebRequestInfo             = (HttpWebRequest)WebRequest.Create(m_requestUrl + "devolucao");
            WebRequestInfo.ContentType = "application/json";
            WebRequestInfo.Method      = "POST";

            using (var streamWriter = new StreamWriter(WebRequestInfo.GetRequestStream()))
            {
                string json = "{\"idItem\":" + idItem + " }";

                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }

            return(Response());
        }
示例#6
0
        public static WebRequestInfo Read(HttpListenerRequest request)
        {
            var info = new WebRequestInfo();
            info.HttpMethod = request.HttpMethod;
            info.Url = request.Url;

            if (request.HasEntityBody)
            {
                Encoding encoding = request.ContentEncoding;
                using (var bodyStream = request.InputStream)
                using (var streamReader = new StreamReader(bodyStream, encoding))
                {
                    if (request.ContentType != null)
                        info.ContentType = request.ContentType;

                    info.ContentLength = request.ContentLength64;
                    info.Body = streamReader.ReadToEnd();
                }
            }

            return info;
        }
    // Don't declare local variables
    public IEnumerator Request(string url,
                               WEB_REQUEST_TYPE webRequestMethodType,
                               WWWForm wWWForm = null,
                               string query    = null,
                               Action <WebRequestInfo> callBackWithData = null,
                               string userName = null)
    {
        //if (!InternetValidator.Instance.IsInternetAvailable)
        //{
        //    WebRequestInfo info = new WebRequestInfo
        //    {
        //        isInterNetConnectionAvailable = false,
        //        isSuccess = false
        //    };
        //    callBackWithData(info);
        //}
        //else
        {
            switch (webRequestMethodType)
            {
            case WEB_REQUEST_TYPE.POST:
            {
                using (UnityWebRequest unityWebRequest = UnityWebRequest.Post(url, wWWForm))
                {
                    // unityWebRequest.timeout = (int)ServerConstants.REQUEST_TIMEOUT;

                    // unityWebRequest.chunkedTransfer = true;
                    yield return(unityWebRequest.SendWebRequest());

                    WebRequestInfo info = new WebRequestInfo();

                    // InternetValidator.Instance.IsInternetAvailable = !unityWebRequest.isNetworkError;

                    if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)
                    {
                        info.errorDescription = unityWebRequest.error;
                        info.isSuccess        = false;
                    }
                    else
                    {
                        if (String.IsNullOrEmpty(unityWebRequest.error) && unityWebRequest.isDone)
                        {
                            info.callBackData = unityWebRequest.downloadHandler.data;

                            //string responseText = Encoding.UTF8.GetString(info.callBackData);

                            info.isSuccess = true;
                        }
                        else
                        {
                            info.errorDescription = unityWebRequest.error;
                            info.isSuccess        = false;
                        }
                    }
                    yield return(new WaitForEndOfFrame());

                    callBackWithData(info);
                }
            }
            break;

            case WEB_REQUEST_TYPE.GET:
            {
                using (UnityWebRequest unityWebRequest = UnityWebRequest.Get(url))
                {
                    unityWebRequest.timeout = (int)ServerConstants.REQUEST_TIMEOUT;

                    yield return(unityWebRequest.SendWebRequest());

                    //Utilities.DebugLogColor("Data progress : " + unityWebRequest.downloadProgress, "red");

                    WebRequestInfo info = new WebRequestInfo();

                    //  InternetValidator.Instance.IsInternetAvailable = !unityWebRequest.isNetworkError;

                    if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)
                    {
                        info.errorDescription = unityWebRequest.error;
                        info.isSuccess        = false;
                    }
                    else
                    {
                        if (String.IsNullOrEmpty(unityWebRequest.error) && unityWebRequest.isDone)
                        {
                            if (string.IsNullOrEmpty(unityWebRequest.downloadHandler.text))
                            {
                                info.errorDescription = "Content not available";
                                info.isSuccess        = false;
                            }
                            else
                            {
                                info.isSuccess    = true;
                                info.callBackData = unityWebRequest.downloadHandler.data;

                                //string responseText = Encoding.UTF8.GetString(info.callBackData);
                            }
                        }
                        else
                        {
                            info.errorDescription = unityWebRequest.error;
                            info.isSuccess        = false;
                        }
                    }
                    yield return(new WaitForEndOfFrame());

                    callBackWithData(info);
                }
            }
            break;

            case WEB_REQUEST_TYPE.GRAPH_QUERY:
            {
                using (UnityWebRequest unityWebRequest = UnityWebRequest.Post(url, UnityWebRequest.kHttpVerbPOST))
                {
                    var fullQuery = new GraphQLQuery()
                    {
                        query = query,
                    };

                    string json = JsonUtility.ToJson(fullQuery);

                    byte[]        payload    = Encoding.UTF8.GetBytes(json);
                    UploadHandler headerData = new UploadHandlerRaw(payload);

                    unityWebRequest.uploadHandler = headerData;
                    //unityWebRequest.SetRequestHeader("Content-Type", "application/json");

                    //    unityWebRequest.SetRequestHeader("username", "example");
                    //unityWebRequest.SetRequestHeader("code", "");

                    //    unityWebRequest.SetRequestHeader("buildtype", ServerGameStateConstants.HEADER_BUILD_TYPE); //1 - Production, 0 - Sandbox

                    //string nonce = GetNonce();
                    //unityWebRequest.SetRequestHeader("nonce", nonce);

                    //string payLoadString = Encoding.UTF8.GetString(payload);
                    //string signature = CalculateMD5Hash(nonce + payLoadString);
                    //unityWebRequest.SetRequestHeader("signature", signature);

                    unityWebRequest.timeout = (int)ServerConstants.REQUEST_TIMEOUT;

                    yield return(unityWebRequest.SendWebRequest());

                    WebRequestInfo info = new WebRequestInfo();

                    // InternetValidator.Instance.IsInternetAvailable = !unityWebRequest.isNetworkError;

                    if (unityWebRequest.responseCode == 504)         // 504 Gateway Timeout error, Unable to reach server.
                    {
                        info.isServerDown = true;
                        callBackWithData(info);
                        yield break;
                    }

                    if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)
                    {
                        info.errorDescription = unityWebRequest.error;
                        info.isSuccess        = false;
                    }
                    else
                    {
                        if (String.IsNullOrEmpty(unityWebRequest.error) && unityWebRequest.isDone)
                        {
                            string callbackDataInString          = System.Text.Encoding.UTF8.GetString(unityWebRequest.downloadHandler.data);
                            Dictionary <string, object> response = Json.Deserialize(callbackDataInString) as Dictionary <string, object>;
                            if (response.ContainsKey("data"))
                            {
                                foreach (KeyValuePair <string, object> author in response)
                                {
                                    if (author.Key.Contains("errors"))
                                    {
                                        info.errorDescription = "Data Not Available";
                                        info.isSuccess        = false;
                                        break;
                                    }
                                    //  if (string.IsNullOrEmpty(author.Value.ToString()) || author.Value == null)
                                    //{
                                    //    MainGameHandler.Instance.gameSessionManager.DisplayPopUP_withButtons( HCConstants.NO_INTERNET_CONNECTION, HCConstants.Alert, HCConstants.Alert_No_internet);
                                    //}


                                    info.responseObj = author.Value;
                                    foreach (KeyValuePair <string, object> responceKeypair in author.Value as Dictionary <string, object> )
                                    {
                                        string responceValueString = Json.Serialize(responceKeypair.Value as Dictionary <string, object>);
                                        if (!string.IsNullOrEmpty(responceValueString))
                                        {
                                            info.responceDataString = responceValueString;

                                            //MainGameHandler.Instance.copyUrl.addURL(url, query, wWWForm, info.responceDataString);

                                            info.isSuccess = true;
                                        }
                                        else
                                        {
                                            info.errorDescription = "Data Not Available";
                                            info.isSuccess        = false;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                info.errorDescription = "Data Not Available";
                                info.isSuccess        = false;
                            }
                        }
                        else
                        {
                            info.errorDescription = unityWebRequest.error;
                            info.isSuccess        = false;
                        }
                    }
                    yield return(new WaitForEndOfFrame());

                    callBackWithData(info);
                }
            }
            break;
            }
        }
    }