Angular, CSOM, Material Design, Polyer, polymer, SharePoint 2013, Sharepoint2010, Visual Studio 2013, WorkFlow

Develop Polymer material with Share Point 2013 Binding Polymer Template with Share Point 2013 using CSOM,


In this blog I am going to merge Polymer Template through Angular JS Framework with SharePoint List. I am new to polymer and as well as on angular js but it is pretty much cool ready made stuff :).

You just need to have some knowledge of SharePoint to complete this simple example. I have shared the source code below just upload to SharePoint Library (Add one List Area) and run the page.
For More Knowledge (Polymer)
For More Knowledge (Angular)
For More Knowledge (SharePoint CSOM)

In this demo I will use the below Polymer template. Polymer elements are based on the set of htmls files libraries which are need to be import on the page. On the back end polyer html pages used the JS and CSS. There is a folder of libraries which we need to put in our root folder. When I tried to copy the Libraries folder in my sharepoint desiger page it block due to jason files. Actually JSON files are objects of array for tutorial of polymer, In our databinding we dont need any hard coded JSON files.

7

8

We Just create a Single Folder in my site .
2
Create a Single aspx Page, in which we will add our Angulr JS, SharPoint JS Api’s and design it using Polymer core elements. I name it as TestPolymer.aspx
3
I removed all the json files because SPD dont allow to copy the JSON files, These jason files are used in as a data source in the polymer template. So now we copy and paste that libraries inside our SampleTest Folder which we created above. We will create another JS file for angular and we named it as app.js.(we will put our module, controller inside).

WE will also copy the angular.js file to work with the angular framework. So far our folder will be look like .

4
Below our blank page.

5

  • Import Polymer libraries on our page. Libraries folder I mentioned above and shared in the OneDrive to just copy and paste in the aspx page folder.
  • Import all the Polyer Script, jquery file, angular.js file and I add CSS for our views.

<!–importing the anguar Script and the Libraries of the Polyer –>

<!–Start –>

http://./Libraries/webcomponentsjs/webcomponents.js/
http://./Libraries/webcomponentsjs/jquery-1.9.1.js
/_layouts/15/init.js
http://./Libraries/webcomponentsjs/MicrosoftAjax.js
<link href=”./Libraries/core-toolbar/core-toolbar.html” rel=”import” />
<link rel=”import” href=”./Libraries/core-header-panel/core-header-panel.html” />
<link href=”./Libraries/core-icon/core-icon.html” rel=”import” />
<link rel=”import” href=”./Libraries/paper-icon-button/paper-icon-button.html” />
<link href=”./Libraries/core-icon-button/core-icon-button.html” rel=”import” />
<link rel=”import” href=”./Libraries/paper-tabs/paper-tab.html” />
<link rel=”stylesheet” href=”./Libraries/core-animated-pages/core-animated-pages.css” />
<link rel=”import” href=”./Libraries/core-animated-pages/core-animated-pages.html” />
<link href=”./Libraries/polymer/polymer.html” rel=”import” />
<!–Polyer Import End –>
<!– SharePoint Libraries –>
/_layouts/15/sp.core.js
/_layouts/15/sp.runtime.js
/_layouts/15/sp.js
/_layouts/15/core.js
<!– angular js  –>
http://./angular.js
<!– our js file for declaring controller and directive –>
http://app.js

Add the html part of the body.
<body fullbleed vertical layout unresolved> <!– use fullbleed attribute to specify the body should fill the viewport –>
<template is=”auto-binding” ng-controller=”SampleTestController”> <!– This is our Template which will repeate its child , I also attached this with my Controller Defined in app.js file–>
<core-toolbar class=”medium-tall”> <!–This is our toolbar for header–>
<core-icon-button icon=”{{$.pages.selected != 0 ? ‘arrow-back’ : ‘menu’}}” on-tap=”{{back}}”></core-icon-button> <!–This icon button will call funciton on tap or on click–>
<span id=”axix” style=”color:white”> You Name</span><!– Simply for header–>

Test Result Result

<core-icon-button on-tap=”{{backs}}”><img src=”http://dev:35897/myiner/logo.png&#8221; /></core-icon-button><!–you can put any logo here for your company as i did–>
</core-toolbar> <!–toobar ends–>
<!– core element of Polyer which will show the boxes on the page–>
<!– I will fetch data from SharPEoint and put in Array name items and pass this array to the template inside–>
<core-animated-pages id=”pages” flex selected=”0″ on-core-animated-pages-transition-end=”{{transitionend}}” transitions=”cross-fade-all hero-transition”>
<section vertical layout>

{{item.name}}

</template>
</div>
</div>
</section>
<template repeat=”{{item in items}}”>
<section vertical layout>

{{item.name}}

Interviewer Detail

</section>
</template>
</core-animated-pages>
</template>
</body>
Now the Javascript Part.
‘use strict’;
var currentUser;
var serverUrl = “http://siteurl/&#8221;;
var taskListItem = ”;
var collListItem = ”;
var items = [];
var itemsx = [];
//I m using the Jquery on ready function to load the SharEOoint List and add them in the array.
//Two function to load user and to get data from list.
//we can also create a controller or module dependency in the anguar and load them first

$(document).ready(function () {
ExecuteOrDelayUntilScriptLoaded(getuser, “sp.js”);
ExecuteOrDelayUntilScriptLoaded(loadlist, “sp.js”);
});
//This is my Load List and Add them in Array itemx.
function loadlist() {
console.log(“load me first”);
var context = new SP.ClientContext(“http://dev:35897&#8221;);
var web = context.get_web();
var myList = web.get_lists().getByTitle(“Area”);
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(‘<View><Query><Where><Gt><FieldRef Name=”ID”/><Value Type=”Counter”>1</Value></Gt></Where></Query><ViewFields><FieldRef Name=”Title” /></ViewFields></View>”‘);
collListItem = myList.getItems(camlQuery);
context.load(collListItem);
context.executeQueryAsync(getInterviewSuccessfully, “failer”);
}
function getInterviewSuccessfully(sender, args) {
var listItemInfo = ”;
var listItemEnumerator = collListItem.getEnumerator();
var str = ”;
var strg = ”;
var count = 0;
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
count++;
items.push({
name: oListItem.get_item(‘Title’),
snippet: oListItem.get_item(‘Title’),
age: oListItem.get_item(‘ID’),

});

}
//console.log(items);
}
//This is my function to loa user.
function getuser() {
var context = new SP.ClientContext(serverUrl);
var web = context.get_web();
currentUser = web.get_currentUser();
context.load(currentUser);
context.executeQueryAsync(  //submit query to the server
function () {
$(“#axix”).text(currentUser.get_loginName().split(“\\”)[1]);
},
function (sender, args) {
alert(‘Request failed. \nError: ‘ + args.get_message() + ‘\nStackTrace: ‘ + args.get_stackTrace());
}
);

}

//Angular Part.
//Defining the module
var SampleTestApp = angular.module(‘SampleTestAppModule’, []);
SampleTestApp.controller(‘SampleTestController’, function ($scope, $http) {
$scope.itemsx = [];
$scope.FillAreas = function () {
var context = new SP.ClientContext(“http://dev:35897&#8221;);
var web = context.get_web();
var myList = web.get_lists().getByTitle(“Area”);
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(‘<View><Query><Where><Gt><FieldRef Name=”ID”/><Value Type=”Counter”>1</Value></Gt></Where></Query><ViewFields><FieldRef Name=”Title” /></ViewFields></View>”‘);
collListItem = myList.getItems(camlQuery);
context.load(collListItem);
context.executeQueryAsync($scope.getInterviewSuccessfully, “failer”);
}

$scope.getInterviewSuccessfully = function (sender, args) {
var listItemInfo = ”;

var listItemEnumerator = collListItem.getEnumerator();

var str = ”;
var strg = ”;
var count = 0;
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
count++;
$scope.itemsx.push({
name: oListItem.get_item(‘Title’),
snippet: oListItem.get_item(‘Title’),
age: count,
});

}

console.log($scope.itemsx)
}
function errorHandlerArea(sender, args) {
alert(‘Request failed111. ‘ + args.get_message());
}
$scope.FillAreas2 = function () {
addEventListener(‘template-bound’, function (e) {
var scope = e.target;
scope.items = items;//axix();
scope.selectView = function (e) {
var i = e.target.templateInstance.model.item.age;
this.$.pages.selected = i + 1;
}
scope.back = function () {
this.lastSelected = this.$.pages.selected;
console.log(this.lastSelected);
this.$.pages.selected = 0;
}
scope.transitionend = function () {
if (this.lastSelected) {
this.lastSelected = null;
}
}
});

}
$scope.FillAreas2();

});

//Simple function which defined the jason object to deubg.

function axix() {

var x = [
{
‘name’: ‘Nexus S’,
‘snippet’: ‘Fast just got faster with Nexus S.’,
‘age’: 1
},
{
‘name’: ‘Motorola XOOM™ with Wi-Fi’,
‘snippet’: ‘The Next, Next Generation tablet.’,
‘age’: 2
},
{
‘name’: ‘Motorola XOOM™ with Wi-Fi’,
‘snippet’: ‘The Next, Next Generation tablet.’,
‘age’: 4
},
];

//console.log(x);
return x;
}

&nsp;
Below is the source code all, You actually it is an stp file. How to use it.

  • Upload it on the list template library.
  • Create an instance of this.
  • Go to the SharePoint designer open the content and browse or directly browse it form url of your library.

Souce Code
https://www.dropbox.com/sh/bjm59umlh2kmjqk/AADIvDxGi5GvUBXmP8FkOqJ7a?dl=0
4

Standard
Info Path 2013, Sequential WorkFlow Visual Studio 2010, SharePoint 2013, SharePoint List Lookup, Sharepoint2010, Visual Studio 2013

InfoPath and SharePoint 2013, Deploy Browser Enable form in SharePoint 2013, Info Path 2013 and SharePoint 2013


I got a chance to migrate our solution to SharePoint 2013. After our analysis and the research my first target is to deploy the Info Path Browser enable form to SharePoint 2013. Here I am sharing my experience to deploy info path 2013 forms to SharePoint 2013 Portal.

In SharePoint 2013 we have 15 hive or root folder earlier we had 14 hives in SharePoint 2010. For Learning the SharePoint 2013 road map uses the link below.

http://technet.microsoft.com/en-us/library/jj937861.aspx .

When Deploying my Info Path Forms which I built on Info Path 2010 , I didn’t find to much difficulties but some new thing I have encounter. Likewise  Previous Info Path 2010 Visual studio tool based on the .net framework 2.0, now it is based on the 4.0 and also the SharePoint 2013 is also based on .net framework 4.0 (Resource : http://weblogs.asp.net/soever/archive/2012/07/20/sharepoint-2013-is-running-on-net-4-framework.aspx and the Screen shot of our farm).

App Pool shows the Framework of SharePoint 2013

App Pool shows the Framework of SharePoint 2013

(1) To deploy our 2010 info path form we just need to open the Visual studio code editor, and change the frame work to 4.0.

Target Framework should be 4.0.

Target Framework should be 4.0.

2) We need to change the Reference to SharePoint Dll, if there is any server side object model is used, in the SharePoint 2013, its location is in 15 hive ISAPI Folder.

15 hive folder for reference Microsoft.SharePoint, for any crud in the List

15 hive folder for reference Microsoft.SharePoint, for any crud in the List

We also need to remove the already reference System.Addin.Contract cuz form the below diagram, It is already referenced.

System.Addin Contract

System.Addin Contract

Just deploy as Administrator Approved form like we usually do in SharePoint 2010 and rocks.

Standard
Uncategorized

Insert, Update to SharePoint List and Published InfoPath2010 Form to SharePoint Server


In this post I would like to share the combination of little efforts using Infopath 2010 forms. In this post I will Design a new InfoPath form 2010 and that form will insert into the SharePoint list by using share Point object model.

Scenario : I have Created a List name Location, having Column Title, City and ZipCode. I will be inserting in the Location List by using InfoPath Form.

First We need to Design the InfoPath Form, during this step we need to consider some important steps.Image

Before we need to add the Event handler for the button to submit the item to the SharePoint list. just right click the button, select properties.

Image

Click Edit Form Code, after click Info path will open the Visual studio 2005 , with the event of button. Once VS2010 Open we need to Add the reference of Microsoft.SharePoint dll to the project. After use the following code to insert in the SP List Image

we can Access the Fields which we defined in the Info path by Xpath of each field check the blog for more clarification..Access Info Path Field using Xpath. 

Build the VS2005 and Close after successful build. Now our InfoPath design work has been done. we need to check some more options for publishing it and attached it to the webpart.

Once we design the Form, we need to go to the Developer Tab —- > and choose Language option as mentioned in the below screen shot.

Image

here we need to set some notes which will help us to deploy the info path form easily. First option is the filler feature , i checked only the Print option. for more info regarding the info path filler feature use the this Filler Feature.

Image

Now select Security and Trust , option and marked as Full trust , below screen shot.

Image

Choose the preferred programming language, and Then select the Compatibility option. here we need to set this Info path form as web browser form and also mentioned the url of info path web service which can let it open in browser. screen shot is below.Image

Save the form, and go to file and Select Publish option. In the published option choose the SharePoint server, enter the site url, it will create and new content type and give the published version of infopath which we can save it in our local drive.

Image

Image

now after this wizard save the xsn file to your local hard drive. this .xsn we will upload and will deploy.

Image

now do the next next and published it.

Image

Now this published wizard has created a new content type in the Server and give us a publised, administrator approved template.

Note : Actually in the real world, we will design the info path form and just save it, than go to the Site Administrator, who will published it, give us a new approved template copy and create a content type on the server, because he is the administrator.

Now we need to to upload (the published .xsn file ) it on the Central Adminitration — > General Application setting –> Info Path Form Services, select Upload form template.

Browse the .xsn file which we save it on our local pc, once upload the form template , we can verify, and upload successfully.

Image

Now we need to go to the Site Collection Administration — > Site Collection Feature—-> in the feature we can have the newly uploaded info path form feature , activate it.

To check the form is ready or not, go to the  Site action –> and Select All Site content— go to the Form Template Library , in that library you will have your newly deployed info path form.

Image

Note : It is better to Create a New Content Type, and Select Parent Content Type as Microsoft InfoPath. Then newly featured Activated form deployed on the site will come in the drop down.

Creating Content Type So that it will be come to Info path webpart. Select Parent as Microsoft Infopath

Creating Content Type So that it will be come to Info path webpart. Select Parent as Microsoft Info path

Now ,we can get the name of content type of this form by select the library setting and go down and get the content type name, this content type will be required for newly document form library, which will help us to integrate this published form to info path viewer webpart.

Image

once we scroll down

now Image

now we know the content type name of this form, now we need to add new form library, and set the content type of that newly library as highlited above. thats all.

Crate new webpart page and select the info path viewer webpart. go to the edit web part and select the newly created library, and content type. Image

click ok and apply.Image

and it is working fine with me. hope my little efforts can save a lot of time of others. apology for any typo mistakes and ready for any question and discussion.

Standard
Sharepoint2010

Integrating BizTalk with SharePoint without SharePoint Adapter as (Bridge Adapter),


My little efforts 🙂
In this article I will mention the easiest way for integrating BizTalk Server 2010 with SharePoint 2010. Most of my friends need to updated, delete, select, add item in the SharePoint Via BizTalk server 2010, but they have found so many issues if they are little weak in BIZTALK or little weak in the SharePoint.
Microsoft is providing the SharePoint Adapter in the BizTalk for any CRUD or even if we go more in detail we can even work on workflows through SharePoint Adapter for BizTalk 2010. But some people found some issues in the installing the SharePoint Adapter, or don’t want to event add any adapter in their environment or not found it easy to cope with SharePoint adapter.

Well I have researched on the SharePoint adapter and go in little dept. how’s it work for the BizTalk to communicated with the SharePoint. Check the link. http://msdn.microsoft.com/en-us/library/aa578311.aspx this walk through has explained the detailed information for BizTalk SP Adapter.

As far as I remember about the SP Adapter in the BizTalk,need to installed on the SharePoint Farm, and will create a one WCF (Windows Communication Foundation ) service and the communication will work through that web service.

In my bridge adapter I have done little trick but that trick will save a lot of time to set up the integration. In my case we don’t have to installed any adapter on the SharePoint farm, rather we need to create one custom WCF service on the farm which can do our work.
IN the WCF Service will use the SharePoint Object model and do the entire manipulation of data on the SharePoint Farm, through our Bridge Adapter we can use all SharePoint the Service to complete our task . Below is the Adapter Picture in detail

BridgeAdapter

Sample BridgeAdapter

.

Idea

Create one Custom SharePoint Web service (WCF) for our request, and create another WCF service which work as bridge.All types of Binding for WCF serivice are applicable. This is more secure CUZ we are not adding any group, for accessing our farm site or WCF Service rather our bridge WCF Service will do that why i called it as bridge adapter.
All Soruce Code is attached in this blog.

Implementation

(1) First we need to Create a Custom SharePoint WCF Service which is main and will complate our our task up on a request and do the Manipulation, I have created a SharePoint Custom WCF service because I have found so many issues in the Client Object model. This Service Will reside in our Sharepoint Farm and in this we will use the Sharepoint Server Object model. We named it as ServiceA.

I haved used the (CKSDEV) codeplex Tool for creating a Custom Sharepoint WCF Service which help me alot
Colde Plex (CSKDEV) and offcourse this blog too . SharePoint Cutome WCF Service Tutorial

Well In my custome WCF Service (ServiceA) I have create some generic code which take some argument and complete the appropriate task, initially I have create Insert,Update,Delete and select in my service on any particular list, we can also add more function once we make our bridge with the SharePoint i.e. CRUD on Document Library, Start WorkFlows, Connect With BCS server etc. Source Code.

Mark the DLL of this Project as Safe Control in farm.

Custom SharePoint WCF Service Method

Custom SharePoint WCF Service Method

Custom SharePoint WCF Service Method

Custom SharePoint WCF Service Method

Our customer WCF Service will be like below.

(2) We need another WCF Service (ServiceB) which work as Bridge Between our BizTalk Client and the SharePoint. In Service B we allow anonymous access and then this will speak to our main Service (ServiceA) for task performance.

I have used the BasicHttp Binding in communication with the WCF Service. Though we should use the WShttp binding cuz transmission go encrypted way. In this WCF Service I have used the code which take data from biztalk or any other third party and give it to our SeriviceA (SharePoint Service) and get the response. Source Code

Service_B

So far our Bridge has completed, now We just need to consume our Service (B) from any client. I have consume this WCF Service via BizTalk and the Console From outside the Network of SharePoint Farm, and it is working fine. Source Code and another way to Consume WCF Service in BizTalk Consume WCF Service in through BizTalk .

Once We deployed our Bridge Service (WCF), then we just need to overload the function and Call them from BizTalk. For any more detailed you can comments.

I hope my little efforts will work for BIzy and SP People.

Standard
Uncategorized

Feature а1716ее3-3996-4cf8-a2d0-83c2c27ed256 for list template 10001 is not installed in this farm,


Recently I come accross one another issue 🙂 in the SharePoint 2010, which was provided to me and I solved it . When the user try to run (SPMETAL.exe) to generate proxy code for any webpart for a Linq Query , the SPMETALEXE was throwing following error.
Feature XXXXXXXXXXXXXXXXXXXX for list template 10001 is not installed in this farm.
First I tried the SPManager Tool to search the Fetaure Id, but I didnt find the feature with the ID XXXX , so this got failed without solving issue.
I download the SPFeatureAdmin Tool to remove any faulty feature but that one also not helpful in this regards.
it was seems to me that Issue in the feature itself, at the galance i thought if I remove the feture by force form the farm then the isssue will be solved, so I tried to use STSADM command to forcefully remove it.
stsadm -o uninstallfeature -id XXXXXX -force but still the same error .

14Hive_SP_Root_Logs

14Hive_SP_Root_Logs

I post my answer on the MSDN where I get some clue, I planned to Add a new custome list template with the type 1001 and tried to deployed, but still the same error.

Solution :

Remove the Feature from the Farm, through STSADM. Keep the Feature ID.

DeactivatingFeature

DeactivatingFeature

Create new SP Empty project and Create the contenttype and create a new list definition with the list templete 10001, In my case I added the one content type and make it property Overwrite=”True” because I was having content type Error as well.

Adding List Definition with the Template Type 10001

Adding List Definition with the Template Type 10001

contenty type overwrite

contenty type overwrite

by doing this we can overwrite our content type with new fields in the Farm.

In the Last Paste the feature Id in the Properties of Feature and and deploy the solution.
Replace the same feature Id in the Feature properties.

Replace the same feature Id in the Feature properties.



Note : Attempt this blog when there is no clue of feature and the feature with the solution has lost.

Standard
SharePoint List Lookup

Provisioning LookUp Field in SharePoint 2010, LookUp Field in the List In SharePoint 2010


A simple way to create a look field relation with the SharePoint List. In this blog I will create a one site column of type lookup, and add to the newly created content type. Helpful links for lookup fields in SharePoint 2010 are Provisioning Lookup Fields, lookup fields by msdn .I have document here in my blog so that I will have clear picture of lookup fields. In this blog I am going to add a look up field to a list trough visual studio 2010, simple step by step with the simple project.

First We Create a List Instance in the Visual Studio2010.

We will Add our Created Lookup Field to this List .

Simple List Instance

Simple List Instance (Movie)

As Lookup Fields obtain their values from an existing list. Each Lookup Field is being linked to its list using the list’s ID. As the ID’s are being generated after creating the instances there is no way to provision a Lookup Field linked to a newly created list during Solution deployment.
(1) Create Empty SharePoint Project

CreatingEmptySpProject

CreatingEmptySpProject

(2) Deployed it as Sandbox Solution

DeploytAsSandbox_2

DeploytAsSandbox_2

(3) Adding List Instance to the Project. This List column will be use as a lookup column in the main list.
List Name is GenreLooupField.

GenreLookUpListInstance_3

GenreLookUpListInstance_3

(4) Adding Default Rows to the List

AddingDefault_Rows

AddingDefault_Rows

(5) We will add a Site column definition by adding a new empty element in the project.

ColumnDefinition_6

ColumnDefinition_6 empty element

(6) Add the definition for the site column.

SiteColumnDefinition

SiteColumnDefinition

Type of this column is LookUp
At this stage site column with the list definition has created. Next is to create the content type in which above site column will be mentioned. Last step will add this content type to our movie list.
(7)Add new item (Content type) in the project

contenty_type

contenty_type

Choose the Announcement to this content type inherit form, then open the element.xml below the content type and add the the reference of the site column through ID.

contentype site definition reference

contentype site definition reference

Deploy the Project.

Go to the List Setting then Advance Setting ,Allow management of content types. Add the content type which we created above. then click below on list setting-> Add from existing site content types

add existingsite contentytype

add existingsite contentytype

.
Make added content type as default content type of list (movie).

associate contenty type to list movie

associate contenty type to list movie

,
Look up field added to the list.

ListwithLookupFields

ListwithLookupFields

Download Project

Standard
Sequential WorkFlow Visual Studio 2010, Sharepoint2010, WorkFlow

Parallel Activities in Approval WorkFlow in SharePoint 2010, Correlation Token in Multiple Task


In this blog I gathered some similar feature of sharepoitn 2010 which are coming frequently in developing the composite approval workflows in the SharePoint 2010. My WorkFlow start Whenver the user requests for vacation by adding an new item or change item in the list, then workflow creates two Task One for Team Leadr to approve, and another is Department head to Approve, for each approver workflow creates a new task to complete , once the task complete by both the Approvers, WorkFlow Complete it state otherwise keep in pending state.
The Content of the workflow are mentioned below.
I have used a very simpel custom list name Vacation Request.

Vacation Custom List

Vacation Custom List

Create a Empty SharePoint Project, Add Sequential Workflow ,

SequentialWorkFlowIteminEmptySpProject

SequentialWorkFlowIteminEmptySpProject



Deploye as a Farm based soluton , Associate Workflow with mentioned Vacation List (Custom List).
Associate with Custom List Enable Task and WorkFlow history List

Associate with Custom List Enable Task and WorkFlow history List

(1) Creating two Task & assign them to the Users,
(2) Using Same Task Id (i.e. Same Correlation Token for Both the Parallel Task)
(3) Put while loop to check the task status
(4) Complete the Task whenever the While loop ends.

WorkFlow is something like that.

Sequantai lWorkFlow Starting

Sequantai lWorkFlow Starting


WorkFlowend Paralle and while activity in the workflow

WorkFlowend Paralle and while activity in the workflow



Here is the code behind of assigning Tasks to users.
AssigningTask to user mentioned nithe list

AssigningTask to user mentioned nithe list



I declared two Boolean Flags which provides the current status of each task. In the While loop I Added
a OnTaskChange Event , Whenver the Task Change or Edit this event Occurs and Check the Stauts of the Task, If It is complete then Flag become false and ends the While Loop.
Checking the condition in the while loop

Checking the condition in the while loop

.

In the end there is TaskComplete activity which indicate task has complete and go to the further step in the workflow.

Download Lab here : Download Visual Stduio Project
Note : based Classis autentication for user authorization and authenticaiton.
Interesting Feature : We can debugh Workflow by multple ways, with vs2010, by log in the history list of each individual step and every single propery

Standard