public static ResponseToClient RequestTaskDetails(string id, string coll) { ResponseToClient responseToClient = new ResponseToClient(); string[] dataList; bool hasOrigin = bool.Parse(ConfigurationManager.AppSettings["HasMultipleSapOrigin"].ToString()); RootObject customAttributes; // The resource URL for NetWeaver Gateway string resourceUrl = GetResourceUrl("base", id, hasOrigin, coll); string descriptionUrl = GetResourceUrl("description", id, hasOrigin, coll); // The specific resource and options we need. string urlOptions = "?$format=json"; resourceUrl = resourceUrl + urlOptions; try { dataList = DataGetter.GetDataMatrix(resourceUrl); string ldUrl = GetResourceUrl("custom", id, hasOrigin, coll);//CustomAttributeCollection customAttributes = DataGetter.GetCustomAttributes(ldUrl); responseToClient.response = new string[dataList.Length + 4]; Array.Copy(dataList, 0, responseToClient.response, 0, dataList.Length); //gets description of the application var description = DataGetter.GetDescription(descriptionUrl); responseToClient.response[6] = description; if (dataList[5] == ConfigurationManager.AppSettings["GatewayRequestType"] && customAttributes != null) { var startObj = customAttributes.results.FirstOrDefault(x => x.Name == "/SWL/ALL/DYNCOL2"); string startDate = string.Format("{2}-{1}-{0}", startObj.Value.Substring(6, 2), startObj.Value.Substring(4, 2), startObj.Value.Substring(0, 4)); DateTime sd = new DateTime(); DateTime ed = new DateTime(); DateTime.TryParseExact(startDate, "yyyy-MM-dd", new CultureInfo("en-US"), DateTimeStyles.None, out sd); var endObj = customAttributes.results.FirstOrDefault(x => x.Name == "/SWL/ALL/DYNCOL3"); string endDate = string.Format("{2}-{1}-{0}", endObj.Value.Substring(6, 2), endObj.Value.Substring(4, 2), endObj.Value.Substring(0, 4)); DateTime.TryParseExact(endDate, "yyyy-MM-dd", new CultureInfo("en-US"), DateTimeStyles.None, out ed); var lduration = ed.Subtract(sd); string dayText = lduration.Days > 1 ? "Days" : "Day"; string leaveDuration = lduration.Days.ToString() + " " + dayText; responseToClient.response[7] = ReverseDate(startDate); responseToClient.response[8] = ReverseDate(endDate); responseToClient.response[9] = leaveDuration; } responseToClient.statusMsg = "OK"; } catch (WebException ex) { HttpWebResponse res = (HttpWebResponse)ex.Response; int statusCode = (int)res.StatusCode; responseToClient.statusCode = statusCode; responseToClient.statusMsg = "Exception"; responseToClient.response = new string[1]; responseToClient.response[0] = ex.Message; } return(responseToClient); }
public static ResponseToClient GetTaskDetails(string id, string coll) { ResponseToClient responseToClient = new ResponseToClient(); RootObject customAttrs; try { var accessToken = AADAuthHelper.EnsureValidAccessToken(HttpContext.Current); var dataList = DataGetter.GetDataMatrix(serviceUrl + Collection + "('" + id + "')", accessToken); var description = DataGetter.GetDescription(serviceUrl + Collection + "('" + id + "')/Description", accessToken); customAttrs = DataGetter.GetCustomAttributes(serviceUrl + Collection + "('" + id + "')/CustomAttributeData", accessToken); responseToClient.response = new string[dataList.Length + 4]; Array.Copy(dataList, 0, responseToClient.response, 0, dataList.Length); responseToClient.response[6] = description; if (dataList[5] == ConfigurationManager.AppSettings["AzureRequestType"]) { string startDate = ""; string endDate = ""; string leaveDuration = ""; if (customAttrs != null && customAttrs.results != null && customAttrs.results.Count > 0) { var startObj = customAttrs.results.FirstOrDefault(x => x.Name == "/SWL/ALL/DYNCOL2"); startDate = string.Format("{2}-{1}-{0}", startObj.Value.Substring(6, 2), startObj.Value.Substring(4, 2), startObj.Value.Substring(0, 4)); DateTime sd = new DateTime(); DateTime ed = new DateTime(); sd = DateTime.ParseExact(startDate, "yyyy-MM-dd", null); var endObj = customAttrs.results.FirstOrDefault(x => x.Name == "/SWL/ALL/DYNCOL3"); endDate = string.Format("{2}-{1}-{0}", endObj.Value.Substring(6, 2), endObj.Value.Substring(4, 2), endObj.Value.Substring(0, 4)); ed = DateTime.ParseExact(endDate, "yyyy-MM-dd", null); var lduration = ed.Subtract(sd); string dayText = lduration.Days > 1 ? "Days" : "Day"; leaveDuration = lduration.Days.ToString() + " " + dayText; } responseToClient.response[7] = startDate; responseToClient.response[8] = endDate; responseToClient.response[9] = leaveDuration; } responseToClient.statusMsg = "OK"; } catch (WebException ex) { HttpWebResponse res = (HttpWebResponse)ex.Response; int statusCode = (int)res.StatusCode; responseToClient.statusCode = statusCode; responseToClient.statusMsg = "Exception"; responseToClient.response = new string[1]; responseToClient.response[0] = ex.Message; } return(responseToClient); }