public static Return Insert(WebserviceRequest obj) { obj.DateCreated = DateTime.Now; obj.DateLastModified = DateTime.Now; GetDataModel(true); var allItems = GetDataModel().WebserviceRequests.OrderBy(i => i.DateCreated); var total = allItems.Count(); if (total > MaxNumberOfLogEntries) { var reduceBy = (total - MaxNumberOfLogEntries) + 1; for (var i = 0; i < reduceBy; i++) { DeleteObjectFromContext(allItems.ElementAt(i)); } } return(Insert(MapperKey, obj)); }
public string MakeWebRequest(string urlString, ICredentials credentialCache = null, RequestMethod method = RequestMethod.GET, string queryString = "") { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; var storageItem = WebserviceRequestsMapper.GetByUrl(urlString); var data = ""; if ((storageItem != null) && (EnableCaching) && !storageItem.Response.Contains("unavailable") && storageItem.DateLastModified.AddSeconds(CacheDurationInSeconds) > DateTime.Now) { return(storageItem.Response); } WebserviceRequest request = null; if (storageItem == null) { request = new WebserviceRequest(); } else { request = storageItem; } request.Url = urlString; request.QueryString = queryString; request.Response = ""; request.Method = method.ToString(); request.UrlReferrer = ""; if (System.Web.HttpContext.Current.Request.UrlReferrer != null) { request.UrlReferrer = System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri; } WebRequest webRequest = WebRequest.Create(urlString); if (credentialCache != null) { webRequest.Credentials = credentialCache; webRequest.PreAuthenticate = true; } webRequest.Method = method.ToString(); try { if (method == RequestMethod.POST) { var encoding = new ASCIIEncoding(); byte[] bytes = encoding.GetBytes(queryString); webRequest.ContentLength = bytes.Length; webRequest.ContentType = "application/x-www-form-urlencoded"; using (var webRequestStream = webRequest.GetRequestStream()) { webRequestStream.Write(bytes, 0, bytes.Length); webRequestStream.Flush(); webRequestStream.Close(); } } using (WebResponse webResponse = webRequest.GetResponse()) { Stream dataStream = webResponse.GetResponseStream(); using (StreamReader streamReader = new StreamReader(dataStream)) { data = streamReader.ReadToEnd(); } } } catch (WebException ex) { ErrorHelper.LogException(ex); data = ex.Message; if (ex.Response != null) { // can use ex.Response.Status, .StatusDescription if (ex.Response.ContentLength != 0) { using (var stream = ex.Response.GetResponseStream()) { using (var reader = new StreamReader(stream)) { data = reader.ReadToEnd(); } } } } } if (request != null) { request.Response = data; var ommit = false; foreach (var item in OmmitList) { if (request.Url.ToLower().Contains(item)) { ommit = true; break; } } if (EnableCaching) { if (request.ID == 0) { WebserviceRequestsMapper.Insert(request); } else { request = BaseMapper.GetObjectFromContext(request); WebserviceRequestsMapper.Update(request); } } } return(data); }
public static Return DeletePermanently(WebserviceRequest obj) { return(Delete(MapperKey, obj)); }
public static Return Update(WebserviceRequest obj) { obj.DateLastModified = DateTime.Now; return(Update(MapperKey, obj)); }