Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        // 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);
        }