Prasad Bolla's SharePoint Blog

Click Here to go through the Interesting posts within my Blog.

Click Here to go through the new posts in my blog.
Showing posts with label Linq. Show all posts
Showing posts with label Linq. Show all posts

Thursday, December 01, 2011

Delete ListItem using SharePoint Linq

Note:- Here Title is Primary Key.
var context = new LinqSampleDataContext(SPContext.Current.Web.Url);
            foreach (LoginItem item in context.Login)
            {
                if (item.Title == txtUserName.Text)
                {
                    context.Login.DeleteOnSubmit(item);
                }
            }

            context.SubmitChanges();
            this.Controls.Add(new LiteralControl("Record Successfully
Deleted"));

Update ListItem Using SharePoint Linq

var context = new LinqSampleDataContext(SPContext.Current.Web.Url);
            EntityList<LoginItem> login_Insert =
context.GetList<LoginItem>("Login");
            var query = from cs in login_Insert
                        where cs.Title.ToString() == txtUserName.Text
                        select new
                        {
                            cs.Title,
                            cs.Password
                        };
            var UpadteQuery = context.Login.SingleOrDefault(cs =>
cs.Title == txtUserName.Text);
            if (UpadteQuery != null)
            {
                UpadteQuery.Password = txtPassWord.Text;
                context.SubmitChanges();
            }
                this.Controls.Add(new LiteralControl("Updation
Sucessful"));

Search a Particular Record With In a SharePoint List Using Linq Based on Title

Note:-
       Here Title is the Primary Key.

 string strPassWord=string.Empty;
            var context = new
LinqSampleDataContext(SPContext.Current.Web.Url);
            EntityList<LoginItem> login_Insert =
context.GetList<LoginItem>("Login");
            var query = from cs in login_Insert
                        where cs.Title.ToString() == txtUserName.Text

                        select new
                        {
                           strPassWord=cs.Password
                        };
            if (query.Count() > 0)
            {
                foreach (var q in query)
                {
                    txtPassWord.Text = q.strPassWord;
                    break;
                }
            }
            else
            {
                this.Controls.Add(new LiteralControl("No Record
Found"));
            }

Insertion into SharePoint List using SharePoint Linq

var context = new LinqSampleDataContext(SPContext.Current.Web.Url);
            EntityList<LoginItem> login_Insert =
context.GetList<LoginItem>("Login");
            LoginItem NewREc = new LoginItem()
{Title=txtUserName.Text,Password=txtPassWord.Text };
            login_Insert.InsertOnSubmit(NewREc);
            context.SubmitChanges();
            txtUserName.Text = "";
            txtPassWord.Text = "";
            this.Controls.Add(new LiteralControl("Insertion
Successful"));

Binding Data From SharePoint to SpGridView using SharePoint Linq.

Note:-
Here we are binding the Title Column as well as LookUp Column.

 LinqSampleDataContext context = new
LinqSampleDataContext(SPContext.Current.Web.Url);
                EntityList<SharePoint2010ConceptsItem> Concept =
context.GetList<SharePoint2010ConceptsItem>("SharePoint 2010
Concepts");
                var query = from cs in Concept
                            where cs.Status.Title.ToString() !=
"Completed"
                            orderby cs.Id descending
                            select new
                            {
                                cs.Title,
                                strStatus=cs.Status.Title,
                                cs.Id
                            };
                sgvConcepts.DataSource = query;
                sgvConcepts.DataBind();

How to Implement SharePoint Linq in SharePoint 2010.

Linq in Action

Using Repeater in SharePoint 2007 or 2010 using Linq witin a UserControl

  


<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RepeaterSampleUserControl.ascx.cs" Inherits="RepeaterSample.RepeaterSample.RepeaterSampleUserControl" %>
<style type="text/css">
.HeaderStyle
{
background-color:Navy;
color:white;
}
.ItemTemplateStyle
{
background-color:Orange;
color:white;
text-align:Center;
}
.AlternativeTemplateStyle
{
background-color:green;
color:white;
text-align:Center;
}
</style>
<table width="100%">
<asp:Repeater ID="rrTasks" runat="server">
<HeaderTemplate>
<tr>
<th class="HeaderStyle">Title</th>
<th class="HeaderStyle">Status</th>
<th class="HeaderStyle">Status</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="ItemTemplateStyle">
<a href="+<%# DataBinder.Eval(Container.DataItem, "ItemURL") %> +" style="text-decoration:none;color:White;"><%# DataBinder.Eval(Container.DataItem, "Title") %></a>
</td>
<td class="ItemTemplateStyle">
<%# DataBinder.Eval(Container.DataItem, "Status") %>
</td>
<td class="ItemTemplateStyle">
<%# DataBinder.Eval(Container.DataItem, "Priority") %>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td class="AlternativeTemplateStyle">
<a href="+<%# DataBinder.Eval(Container.DataItem, "ItemURL") %> +" style="text-decoration:none;color:White;"><%# DataBinder.Eval(Container.DataItem, "Title") %></a>
</td>
<td class="AlternativeTemplateStyle">
<%# DataBinder.Eval(Container.DataItem, "Status") %>
</td>
<td class="AlternativeTemplateStyle">
<%# DataBinder.Eval(Container.DataItem, "Priority") %>
</td>
</tr>
</AlternatingItemTemplate>
</asp:Repeater>
</table>
_________________________________________________________________________________________
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Security;
using System.Linq;
using System.Data.Linq;
namespace RepeaterSample.RepeaterSample
{
public partial class RepeaterSampleUserControl : UserControl
{
string ItemURL = string.Empty;
string Title = string.Empty;
string Status = string.Empty;
string Priority = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPWeb objWeb = SPContext.Current.Web)
{
SPList lstTasks = objWeb.Lists["Tasks"];
SPListItemCollection myColl = lstTasks.Items;
if (myColl.Count > 0)
{
var query = from SPListItem item in myColl
orderby item["ID"] descending
select new
{
Title=item.Title.ToString(),
ItemURL=objWeb.Url +"/Lists/Tasks/DispForm.aspx?ID="+item["ID"].ToString()+"&Source="+Page.Request.Url,
Status=(item["Status"]==null) ? "Data UnAvailable" : item["Status"].ToString(),
Priority = (item["Priority"] == null)? "Data UnAvailable" : item["Status"].ToString(),
};
rrTasks.DataSource = query;
rrTasks.DataBind();
}
}
});
}
}
}

Getting Data from Subsites to TopSite With Null Checking which is getting binded with SpGridView Using Server Side Linq

try
{
string Title = string.Empty;
string Status = string.Empty;
string AssignedTo = string.Empty;
string WebTitle = string.Empty;
var query = from SPWeb subWeb in SPContext.Current.Web.GetSubwebsForCurrentUser()
from SPListItem item in subWeb.Lists["Tasks"].Items
orderby item["ID"] descending
select new
{
Title=item["Title"].ToString(),
Status=(item["Status"]==null) ? "Data UnAvailable" : item["Status"].ToString(),
Priority = (item["Priority"] == null) ? "Data UnAvailable" : item["Status"].ToString(),
AssignedTo = (item["AssignedTo"] == null) ? "Data UnAvailable" : item["AssignedTo"].ToString().Substring(item["AssignedTo"].ToString().LastIndexOf("\\") + 1),
WebTitle=subWeb.Title
};
if (query.Count() > 0)
{
sgvTest.DataSource = query;
sgvTest.DataBind();
}
}
catch (Exception ex)
{
this.Controls.Add(new LiteralControl(ex.ToString()));
}

Wednesday, November 30, 2011

How to Make Linq Work in User Control of SharePoint 2007

Hi

First Copy the above lines of code after  <assemblies> tag

Now Paste these lines after Assemblies Tag

<add assembly="System.Core, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Design, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Web.Extensions.Design, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Windows.Forms, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Extensions, Version=1.0.61025.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=B77A5C561934E089"/>
____________________________________________________________________________
After this paste the following lines of code after the </system.web>
tag
<system.codedom>
                <compilers>
                        <compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
                                <providerOption name="CompilerVersion" value="v3.5"/>
                                <providerOption name="WarnAsError" value="false"/>
                        </compiler>
                        <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
                                <providerOption name="CompilerVersion" value="v3.5"/>
                                <providerOption name="OptionInfer" value="true"/>
                                <providerOption name="WarnAsError" value="false"/>
                        </compiler>
                </compilers>
        </system.codedom>