Start a Workflow Manually- Programatically

SPSecurity.RunWithElevatedPrivileges(delegate() 
                              { 
                                  //  
                                  using (SPSite site = new SPSite(SPContext.Current.Site.Url)) 
                                  { 
                                      using (SPWeb web = site.OpenWeb()) 
                                      { 
                                          SPUtility.ValidateFormDigest(); 
                                          SPList list = web.Lists["Implementation Details"]; 
                                          SPListItem lstitem; 
                                         
                                          SPQuery q = new SPQuery(); 
                                          q.Query = "<Where><Eq><FieldRef Name='KaizenID' /><Value Type='Text'>" + itemID + "</Value></Eq></Where>"; 
                                          SPListItemCollection collection = list.GetItems(q); 
  
                                          lstitem = collection[0]; 
                                          string GroupName = ddlKazienApprovelGroup.SelectedItem.Text.Trim(); 
                                          SPGroup group = web.Groups[GroupName]; 
  
                                          lstitem["Department"] = group; 
  
                                          web.AllowUnsafeUpdates = true; 
                                          lstitem.Update(); 
                                          web.AllowUnsafeUpdates = false; 
                                          UpdateKaizenTask(); 
                                          foreach (SPListItem listitem in collection) 
                                          { 
                                              SPWorkflowManager objWorkflowManager = null; 
                                              SPWorkflowAssociationCollection objWorkflowAssociationCollection = null; 
                                              objWorkflowManager = listitem.Web.Site.WorkflowManager; 
                                              objWorkflowAssociationCollection = listitem.ParentList.WorkflowAssociations; 
  
                                              foreach (SPWorkflowAssociation objWorkflowAssociation in objWorkflowAssociationCollection) 
                                              { 
                                                  web.AllowUnsafeUpdates = true; 
                                                  objWorkflowManager.StartWorkflow(listitemobjWorkflowAssociation, objWorkflowAssociation.AssociationData, true); 
                                                  web.AllowUnsafeUpdates = false; 
                                                  message = "\\\"Mail has been sent to " + mailUsers.TrimEnd('.') + ", Workflow started.\\\""; 
  
  
                                                  break; 
                                              } 
                                          } 
                                          
                                      } 
  
                                  } 
  
  
                              }); 

Comments

Popular posts from this blog

SP People Picker Validation

Create multiple web parts in one SPFx Solution

JQgrid Auto Complete functionality for a textbox using Jquerry