public HttpResponseMessage Get(string id) { XmlDocument doc = new XmlDocument(); CanvasDomainService CanvasDS = new CanvasDomainService(); CanvasDto cDto = CanvasDS.LoadCanvasGUID(new Guid(id)); doc.LoadXml(cDto.XmlData.ToString()); int jsonId = 0; XmlNode dashboardCanvas = doc.GetElementsByTagName("DashboardCanvas")[0]; XmlAttribute xAttDatasourceName1 = doc.CreateAttribute("DatasourceName"); XmlAttribute xAttCanvasName = doc.CreateAttribute("CanvasName"); xAttCanvasName.Value = cDto.CanvasName.ToString(); xAttDatasourceName1.Value = cDto.Datasource.ToString(); dashboardCanvas.Attributes.Append(xAttCanvasName); dashboardCanvas.Attributes.Append(xAttDatasourceName1); foreach (XmlNode item in doc.GetElementsByTagName("Gadgets")[0].ChildNodes) { // XmlDocument xDoc = item as XmlDocument; XmlAttribute xAttJsonId = doc.CreateAttribute("jsonId"); XmlAttribute xAttDatasourceName = doc.CreateAttribute("DatasourceName"); XmlAttribute xAttDatasourceId = doc.CreateAttribute("DatasourceId"); xAttDatasourceId.Value = cDto.DatasourceID.ToString(); xAttDatasourceName.Value = cDto.Datasource.ToString(); xAttJsonId.Value = jsonId.ToString(); jsonId++; item.Attributes.Append(xAttJsonId); item.Attributes.Append(xAttDatasourceId); item.Attributes.Append(xAttDatasourceName); if (item.Name == "chart" && item["gadgetDescription"] != null && item["gadgetDescription"].InnerText != null) { string gadgetDescription = item["gadgetDescription"].InnerText.ToString(); if (gadgetDescription.Length > 0) { if (!string.IsNullOrEmpty(gadgetDescription)) { byte[] encodedDataAsBytes = System.Convert.FromBase64String(gadgetDescription); item["gadgetDescription"].InnerText = System.Text.ASCIIEncoding.Unicode.GetString(encodedDataAsBytes); } } } } var resp = new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeXmlNode(doc)) //("[{\"Name\":\"ABC\"},[{\"A\":\"1\"},{\"B\":\"2\"},{\"C\":\"3\"}]]") }; resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/jsonp"); return(resp); }
// POST api/<controller> // [EnableCors(origins: "*", headers: "*", methods: "OPTIONS")] public HttpResponseMessage Post([FromBody] JObject value) { UserDomainService UserDomainService = new UserDomainService(); CanvasDomainService CanvasDomainService = new CanvasDomainService(); ControllerCommon Common = new Controllers.ControllerCommon(); DatatableBag dtb = null; UserDTO possibleUser = new UserDTO(); possibleUser.UserName = value["id"].ToString(); var pwd = value["password"].ToString(); var canvasid = new Guid(value["canvasid"].ToString()); string KeyForUserPasswordSalt = System.Configuration.ConfigurationManager.AppSettings["KeyForUserPasswordSalt"]; Ewav.PasswordHasher ph = new Ewav.PasswordHasher(KeyForUserPasswordSalt); string salt = ph.CreateSalt(possibleUser.UserName); possibleUser.PasswordHash = ph.HashPassword(salt, pwd); UserDTO returnedUser = UserDomainService.GetUserForAuthentication(possibleUser); UserDTO LoadedUser = null; if (returnedUser.UserName != null) { LoadedUser = UserDomainService.LoadUser(returnedUser.UserName); dtb = CanvasDomainService.LoadCanvasListForUser(LoadedUser.UserID); } else { return(new HttpResponseMessage() { Content = new StringContent("not-authenticated") }); } List <CanvasDto> CanvasList = new List <CanvasDto>(); for (int i = 0; i < dtb.RecordList.Count; i++) { CanvasList.Add( new CanvasDto() { CanvasId = Convert.ToInt32(Common.GetValueAtRow(dtb, "CanvasID", dtb.RecordList[i])), CanvasGUID = new Guid(Common.GetValueAtRow(dtb, "CanvasGUID", dtb.RecordList[i])), CanvasName = Common.GetValueAtRow(dtb, "CanvasName", dtb.RecordList[i]), UserId = Convert.ToInt32(Common.GetValueAtRow(dtb, "UserID", dtb.RecordList[i])), CanvasDescription = Common.GetValueAtRow(dtb, "CanvasDescription", dtb.RecordList[i]), CreatedDate = Convert.ToDateTime(Common.GetValueAtRow(dtb, "CreatedDate", dtb.RecordList[i])), ModifiedDate = Convert.ToDateTime(Common.GetValueAtRow(dtb, "ModifiedDate", dtb.RecordList[i])), DatasourceID = Convert.ToInt32(Common.GetValueAtRow(dtb, "DatasourceID", dtb.RecordList[i])), Status = Common.GetValueAtRow(dtb, "Status", dtb.RecordList[i]), Datasource = Common.GetValueAtRow(dtb, "DatasourceName", dtb.RecordList[i]) //XmlData = new System.Xml.Linq.XElement() }); } var isAuthorized = CanvasList.Any(canvas => canvas.CanvasGUID == canvasid && canvas.UserId == LoadedUser.UserID); if (!isAuthorized) { returnedUser = new UserDTO(); return(new HttpResponseMessage() { Content = new StringContent("not-authorized") }); } HttpResponseMessage ReturnedObj = new HttpResponseMessage() { Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(returnedUser)) }; ReturnedObj.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(ReturnedObj); }