Wednesday 28 December 2011

Get data based on url

Hi,
The post is for the fetching the data by the given url, into it's respective type.
mostly help for fetching the REST or Normal webservice by provoding it's respective url.


        private static object GetDataByRestfulServicePath(string restfulServiceURL)
        {
           restfulServiceURL   =  "http://localhost:52996/Service.svc/Employee";

            using (WebClient webClient = new WebClient())
            {
                //webClient.Credentials = new NetworkCredential("aditya", "mail_123", "star");

                byte[] metaDatainBytes = webClient.DownloadData(new Uri(restfulServiceURL));

                //string str = System.Text.ASCIIEncoding.UTF8.GetString(metaDatainBytes);

                if (metaDatainBytes != null)
                {
                    using (Stream strm = new MemoryStream(metaDatainBytes))
                    {
                        DataContractSerializer obj = new DataContractSerializer(typeof(object));
                        return (object)obj.ReadObject(strm);
                    }
                }
            }

            return null;
        }

The "object" should be replaced by the respective type. for ex: string if, in the interface, the return type is string.

Wednesday 21 December 2011

Asp.Net GridView Page Index Changing

 protected void gvResumeSearch_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                if (ViewState["CategoriesDataTable"] != null)
                {
                    DataTable dt = (DataTable)ViewState["CategoriesDataTable"];


                    gvResumeSearch.DataSource = dt;
                    gvResumeSearch.PageIndex = e.NewPageIndex;
                    gvResumeSearch.DataBind();
                }
            }
            catch (Exception ex)
            {
                lblErrMsg.Text = "Exception in gvResumeSearch_PageIndexChanging. Message: " + ex.Message;
            }
        }


Private void DataTable GetData()
{
  DataTable newDt = //some custom method.
ViewState["CategoriesDataTable"] = newDt;
}

Converting byte[] to string.



string postData = "This is a test that posts this string to a Web server.";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
string str = System.Text.ASCIIEncoding.UTF8.GetString(byteArray);

Monday 12 December 2011

Add SPListItem in a particular folder.



 private void AddSPListItemByRelativeUrl(SPList list, string relativeFolderurl)
        {
            //Add the files in sharepoint list under this folder.
            //If we want to add an item under "myFirstfolder/mynextfolder" folder, then the relativeFolderurl must be Lists/myList/myFirstfolder/mynextfolder
            SPListItem newFileItem = list.Items.Add("/" + relativeFolderurl, SPFileSystemObjectType.File, null);

            newFileItem["Title"] = "My new folder";

            newFileItem.Update();
        }

Tuesday 6 December 2011

CAML query on folders

Querying on a list for particular folder:

private DataTable GetDataTable(SPList list)
        {
            DataTable dt = new DataTable();
            SPQuery qry = new SPQuery();
            try
            {
                string relativeURL = list.RootFolder.Url;
                qry.Query = "<Where><Eq><FieldRef Name='FileDirRef'/><Value Type='Lookup'>" + relativeURL + "/my folder/my next folder</Value></Eq></Where>";
                qry.ViewAttributes = "Scope='RecursiveAll'";


                SPListItemCollection coll = list.GetItems(qry);
                dt = coll.GetDataTable();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
            return dt;
        }

we can use various properties for "Scope=''".
1. Default
2. Recursive
3. RecursiveAll