Skip to main content

How to get taskid in workflow for assigning task programmatically

Hi Friends,
I am posting my blog after long time. After busy schedule finally I got time post my blog.
In this blog I just want to share my experience that I faced while creating workflow and assigning task and sending the link to assign task programmatically.
My requirement was that I need to create task and send custom email body.In the body of email,I need to send a link for assign task.I googled the solution no success.Finally I tried with the below approach:

public static int GetNextAvailableIdFromList(SPSite site, Guid listId)

{

int NextAvailableId = -1;

if (site.WebApplication.ContentDatabases.Count > 0)

{

string DBConnString = site.WebApplication.ContentDatabases[0].DatabaseConnectionString;

SqlConnection con = new SqlConnection(DBConnString);

try

{

con.Open();

SqlCommand com = con.CreateCommand();

com.CommandText = String.Format("select tp_NextAvailableId from AllLists where tp_ID = '{0}'", listId.ToString());



NextAvailableId = (int)com.ExecuteScalar();

}

finally

{

con.Close();

}

}

return NextAvailableId;

}

Once You add the code in your workflow code file.You just need to call the method like below:

createTask_TaskProperties.EmailBody = workflowProperties.List.Title + " Request has been raised by " + workflowProperties.OriginatorUser.Name + " . Click "(ANCHOR TAG OPEN) href=\"" + workflowProperties.WebUrl + "/_layouts/WrkTaskIP.aspx?ID=" + Convert.ToString(GetNextAvailableIdFromList(workflowProperties.Site, workflowProperties.TaskListId)) + "&List=" + HttpUtility.UrlEncode(workflowProperties.TaskListId.ToString()) + "\">here to confirm the " + workflowProperties.List.Title.ToString();

createTask_TaskProperties.HasCustomEmailBody = true;

Thats Done..Try this.It will help you when you need that type of requirement. :)

Comments

Popular posts from this blog

SharePoint Branding Solution Pack using VS2010

Introduction Today, in this blog I am trying to provide you the Custom Branding solution Pack. This solution pack will save time and effort while developing the custom sharepoint with publishing sites in sharepoint. It works great. So, we all are good to go and use this re-usable solution pack. Description The source code shows how to prepare a structure for Sharepoint Branding solution. This pack contains : Master Page Gallery structure Page Layout Gallery structure Image Gallery Styles Library gallery Event Receiver

Create Custom hit counter in SharePoint2010 using Sandbox Solution

In this blog I am going to demonstrate how to create Hit counter for SharePoint site with user details using sandbox solution. I took reference from codeplex code( http://hitcounter.codeplex.com ) which is sharepoint2007. I modified his sample and tried make it simple and easy for you. Once you understand the way I created then its very simple for you to make any further modification depends on your requirement. This solution will be very useful when you need detail about the person who visit this page and also about the number of time page view with page detail. I created this solution that will make your work easy. It's very simple where you don't need to do anything except deploying the feature and adding the web part into you master page or layout page in sharepoint2010. Below is the screenshot that will display the how it looks like:

Create a Web Part Page with a Web Part in Sharepoint 2010

Source code from codeplex In this blog I am going to explain how to create a web part page along with a web part. After using this feature, we just need to activate the feature; the rest will complete automatically. Steps for creating the functionality: Step 1: Create a project with Farm-Based solution: Step 2: Add a new item as webpart: Step 3: Add feature event receiver class, your solution should look like the following: Step 4: Add your logic to the web part: 01 [ToolboxItemAttribute( false )] 02 public class CustomWebPart : WebPart 03 { 04 protected override void CreateChildControls() 05 { 06 LiteralControl lt = new LiteralControl(); 07 lt.Text = "This webpart automatically added with page" ; 08 this .Controls.Add(lt); 09 } 10 } Step 5: You need to provide logic in the feature Reciever class. Find the attached file to see the source code. Step 6: Build, deploy and activate the feature. Step 7: Go to Page library ( S