using System; using System.Collections.Generic; using System.Text; using Karomi; using System.Data; using System.Web; using Karomi.Util; using Karomi.Forms; using Karomi.Global; using System.Collections; using System.Configuration; using System.Data.OleDb; using Karomi.Application; using System.IO; using System.Xml; using Karomi.DMS.SqlStorage; using System.Security.Cryptography; using Karomi.Artwork; using Karomi.Security; namespace workflowscripts { public class customscript:IDisposable { private bool IsDisposed = false; KaromiParameter.document document; Karomi.Util.karomidb obj_db; Karomi.Security.user obj_user; public KaromiParameter.document setdocument { set { document = value; } get { return document; } } /// /// Gets or sets the current database connection from Karomi.Util.karomidb /// public Karomi.Util.karomidb db { set { obj_db = value; } get { return obj_db; } } /// /// Gets or sets the current loggedin user from Karomi.Security.user /// public Karomi.Security.user loggedinuser { set { obj_user = value; } get { return obj_user; } } public customscript() { } public void start_prescript() { document.forms["encept_britannia_artwork_approval"].elements["created_date"].value = document.getcurrentipdate(); document.forms["encept_britannia_artwork_approval"].elements["created_by"].value = document.forms["workflow"].elements["fullname"].value; document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Start"; document.forms["encept_britannia_artwork_approval"].elements["definition_id"].value="001VORZ1X3B29FZPCAGLI866QBBFZ4"; document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Initiation"; } public void start_postscript() { errorlogger.logmessage("workflowcreator : "+document.workflowcreator("userkid")); document.forms["encept_britannia_artwork_approval"].elements["package_id"].value = document.forms["workflow"].elements["workflowid"].value; errorlogger.logmessage("package_id" +document.forms["encept_britannia_artwork_approval"].elements["package_id"].value); document.forms["workflow"].elements["description"].value=document.forms["encept_britannia_artwork_approval"].elements["definition_id"].value; string requestNo=document.forms["encept_britannia_artwork_approval"].elements["request_no"].value ; //string final_value="["+job_id+"]"; //test y it's we r using //document.forms["workflow"].elements["name"].value=final_value; //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Client Reviewer(s)"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Client Reviewer(s)"; document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending For Pre-Delivery Check"; document.forms["workflow"].elements["customstatus"].value = "Pending For Pre-Delivery Check"; errorlogger.logmessage("Start Form Custom Status : "+document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value); errorlogger.logmessage("Start Workflow Custom Status : "+document.forms["workflow"].elements["customstatus"].value); document.forms["encept_britannia_artwork_approval"].elements["approvers_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; //update_revision_tracking(); } public void Legal_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { errorlogger.logmessage("Legal Prescript"); errorlogger.logmessage("Min Occurence"+document.currentworkitem.elements["minoccurance"].value); document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Production1"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Legal Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; //mailSubject = "Proof Upload - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void R1_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { errorlogger.logmessage("R1"); document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "R1"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "R1 Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void R2_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "R2"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "R2 Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void Packaging_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Packaging"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Packaging Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void Planning_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Planning"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Planning Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void Quality_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Quality"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Quality Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Approve the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void Marketing_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Marketing"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Marketing Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Approve the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void Legal2_prescript(){ if(document.currentworkitem.elements["minoccurance"].value!="0") { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Production2"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Production2 Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipantsForReviewers(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } } public void generate_unique_no() { KaromiParameter.form obj_artworkapproval_form = null; obj_artworkapproval_form = document.forms["encept_britannia_artwork_approval"]; string str_query = "", requestNo = ""; str_query = "declare @form_name_rs VARCHAR(90)" + "declare @request_no_rs VARCHAR(30)" + "declare @return_status VARCHAR(30)" +"set @form_name_rs='encept_britannia_artwork_approval'" + "exec @return_status =[sp_request_no_auto_generate] @form_name_rs,@request_no=@request_no_rs output SELECT @return_status"; obj_db.GetSingleValue(str_query, 0, out requestNo); requestNo = "AW-N-"+requestNo; document.forms["encept_britannia_artwork_approval"].elements["request_no"].value = requestNo; } // Initiator public void predeliveryReview_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Pre Delivery Check"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Pre Delivery Check"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "AW Upload - Notification"; mailBody = "Kindly Upload the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void predeliveryReview_postscript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Client Reviewer(s) For Artwork Review"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Client Reviewer(s) For Artwork Review"; } public void clientRoute_postscript() { generate_unique_no(); } public void initiatorUpdateRoute_prescript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending For Pre-Delivery Check"; document.forms["workflow"].elements["customstatus"].value = "Pending For Pre-Delivery Check"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Initiator Update"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Approve the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void initiatorReview_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Initiator Review"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Initiator Review"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void initiatorReview_postscript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending For Pre-Delivery Check"; //document.forms["workflow"].elements["customstatus"].value = "Pending For Pre-Delivery Check"; } // Initiator Clarification public void initiator_prescript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Clarification"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator For Clarification"; document.forms["encept_britannia_artwork_approval"].elements["approvers_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Initiator"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Reinitiate Artwork"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void initiator_postscript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending For Pre-Delivery Check"; //document.forms["workflow"].elements["customstatus"].value = "Pending For Pre-Delivery Check"; } public void predeliveries_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Pre-delivery Check"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Pre Delivery Check"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Update - Notification"; mailBody = "Kindly Do the Pre-Delivery Check for Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void predeliveries_postscript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Client Reviewer(s) For Artwork Review"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Client Reviewer(s) For Artwork Review"; errorlogger.logmessage("Client Postcript"); } public void PredeliveriesrejectRoute_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Artwork Update"; document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator For Artwork Update"; } public void beforeParallelRoute_prescript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Client Reviewer(s) For Artwork Review"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Client Reviewer(s) For Artwork Review"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; } public void afterreview_prescript(){ document.forms["encept_britannia_artwork_approval"].elements["parallel_appr_flag"].value = "0"; // string str_3pm_reviewer_name=document.forms["encept_britannia_artwork_approval"].elements["threepm_reviewer"].value; //update_parallel_status(); check_all_parallel_finished(); errorlogger.logmessage("parallel_appr_flag afterreview_prescript "+document.forms["encept_britannia_artwork_approval"].elements["parallel_appr_flag"].value); } public void update_parallel_status() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = ""; document.forms["workflow"].elements["customstatus"].value = ""; string str_packageid = document.forms["encept_britannia_artwork_approval"].elements["package_id"].value; //string str_3pm_reviewer_name=document.forms["encept_britannia_artwork_approval"].elements["threepm_reviewer"].value; string str_status = "", str_value = "", str_query = "",strReviewerValue=""; string[] str_activity_array=new string[]{}; string[] str_activity_decision=new string[]{}; //str_activity_decision = new string[] {"legal_decision","legal2_decision","r1_decision","r2_decision","packaging_decision","planning_decision","quality_decision","marketing_decision"}; //str_activity_array = new string[] {"Production1","Production2","R1","R2","Packaging","Planning","Quality","Marketing"}; str_activity_decision = new string[] {"legal_decision","legal2_decision","r1_decision","r2_decision","packaging_decision","planning_decision"}; str_activity_array = new string[] {"Production1","Production2","R1","R2","Packaging","Planning"}; errorlogger.logmessage("quality_decision : "+document.forms["encept_britannia_artwork_approval"].elements["quality_decision"].value); string[] str_field_name=new string[]{}; string[] strActivityList=new string[50]; string strDecision=string.Empty; DataSet objDataset = new DataSet(); //string str_sql = "select activity_name from wf_workitem where instance_id=(select instance_id from wf_instance where package_id='" + str_packageid + "') and workitem_status!=0 and activity_name in ('Planning','Marketing','Packaging','R2','Production1','Production2','R1','Quality')"; string str_sql = "select activity_name from wf_workitem where instance_id=(select instance_id from wf_instance where package_id='" + str_packageid + "') and workitem_status!=0 and activity_name in ('Planning','Packaging','R2','Production1','Production2','R1')"; errorlogger.logmessage("NEw objDatasets str_sql-->" + str_sql); obj_db.GetDataSet(str_sql, out objDataset); errorlogger.logmessage("BindHiddenFlag dataset_count -->" + objDataset.Tables[0].Rows.Count); if (objDataset.Tables[0].Rows.Count > 0) {/* for(int j=0;j" + objDataset.Tables[0].Rows[0]["activity_name"].ToString()); }*/ for(int j=0;j" + objDataset.Tables[0].Rows[0]["activity_name"].ToString()); } } errorlogger.logmessage("Activity Len -->" + strActivityList.Length); for (var i = 0; i < strActivityList.Length; i++) { for(int j=0;j" + str_sql); obj_db.GetDataSet(str_sql, out objDataset); errorlogger.logmessage("BindHiddenFlag dataset_count -->" + objDataset.Tables[0].Rows.Count); if (objDataset.Tables[0].Rows.Count > 0) {/* for(int j=0;j" + objDataset.Tables[0].Rows[0]["activity_name"].ToString()); }*/ for(int j=0;j" + objDataset.Tables[0].Rows[0]["activity_name"].ToString()); } } errorlogger.logmessage("Activity Len -->" + strActivityList.Length); for (var i = 0; i < strActivityList.Length; i++) { //strReviewerValue=document.forms["encept_britannia_artwork_approval"].elements[str_field_name[i]].value; //if(strReviewerValue!=""){ for(int j=0;j 0) { document.forms["encept_britannia_artwork_approval"].elements["parallel_appr_flag"].value = "1"; document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending with Printer For Proof Upload Clarification"; document.forms["workflow"].elements["customstatus"].value = "Pending with Printer For Proof Upload Clarification"; } else { document.forms["encept_britannia_artwork_approval"].elements["parallel_appr_flag"].value = "0"; /*document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive For Archival"; document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive For Archival";*/ //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive For Final Approval"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive For Final Approval"; } } public void clientReviewer_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Client Review"; errorlogger.logmessage("Client Prescript"); document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Client Reviewer(s) For Artwork Review"; document.forms["workflow"].elements["customstatus"].value = "Pending With Client Reviewer(s) For Artwork Review"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; } public void clientReview_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Brand Manager For Artwork Approval"; document.forms["workflow"].elements["customstatus"].value = "Pending With Brand Manager For Artwork Approval"; errorlogger.logmessage("Client Postcript"); } //approvers_flag public void rejectLink_prescript() { document.forms["encept_britannia_artwork_approval"].elements["approvers_flag"].value = "1"; errorlogger.logmessage("Approver Flag : "+document.forms["encept_britannia_artwork_approval"].elements["approvers_flag"].value); } public void approveRoute_prescript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Artwork Correction"; document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator For Artwork Correction"; } public void brandManager_prescript() { errorlogger.logmessage("Parallel flag fact : "+document.forms["encept_britannia_artwork_approval"].elements["parallel_appr_flag"].value); document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Brand Manager For Artwork Approval"; document.forms["workflow"].elements["customstatus"].value = "Pending With Brand Manager For Artwork Approval"; document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Brand Manager"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Brand Manager Approval"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Approve the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void brandManager_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive for Artwork Review and Printer Details"; document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive for Artwork Review and Printer Details"; createprintproof_XML(); } public void AEOrAM_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Encept Account Manager/Account Executive"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; } public void AEOrAM_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive For Archival"; document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive For Archival"; } public void closeRoute_prescript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Job is Closed"; document.forms["workflow"].elements["customstatus"].value = "Job is Closed"; } public void rejectRoute_prescript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Artwork Request Reinitiation"; document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator For Artwork Request Reinitiation"; } /*New Changes*/ public void printer_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Printer"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Proof File Upload"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Proof Upload - Notification"; mailBody = "Kindly Upload/Approve the Proof from your Login for Workflow Number:"; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void printer_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive For Proof File Pre-Press Check"; document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive For Proof File Pre-Press Check"; } public void proofPreDelivery_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Encept Pre-Press Check for Proof"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = " Proof File Pre-Press Check"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Pre-Press Check for Proof - Notification"; mailBody = "Kindly Do the Pre-Press Check for Proof from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void proofPreDelivery_postscript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Brand Manager and Quality Team For Proof Review"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Brand Manager and Quality Team For Proof Review"; } public void bmAndQTeam_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Brand Manager and Quality Team Review"; } public void bmAndQTeam_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive For Archival"; document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive For Archival"; } public void proofClarification_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Printer For Proof File Clarification"; document.forms["workflow"].elements["customstatus"].value = "Pending With Printer For Proof File Clarification"; } /*End*/ public void reintitationRoute_prescript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Reinitiation"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator For Reinitiation"; document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator to Reinitiate the Artwork"; document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator to Reinitiate the Artwork"; } public void reinitiate_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Reinitiate"; document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator to Reinitiate the Artwork"; document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator to Reinitiate the Artwork"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Reinitiate Artwork"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Reinitiate Artwork - Notification"; mailBody = "Kindly Review the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void reinitiate_postscript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending For Pre-Delivery Check"; document.forms["workflow"].elements["customstatus"].value = "Pending For Pre-Delivery Check"; } public void Predelivery_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Pre-Delivery Check"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Pre Delivery Check"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Approval - Notification"; mailBody = "Kindly Do the Pre-Delivery Check for Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void Predelivery_postcript() { //document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Client Reviewer(s) For Artwork Review"; //document.forms["workflow"].elements["customstatus"].value = "Pending With Client Reviewer(s) For Artwork Review"; } public void PredeliveryRejectRoute_postcript() { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Initiator For Artwork Update"; document.forms["workflow"].elements["customstatus"].value = "Pending With Initiator For Artwork Update"; } public void relese_prescript() { document.forms["encept_britannia_artwork_approval"].elements["activityname"].value = "Release"; document.forms["encept_britannia_artwork_approval"].elements["inactive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["predelivery_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["archive_flag"].value="0"; document.forms["encept_britannia_artwork_approval"].elements["released_flag"].value="1"; document.forms["encept_britannia_artwork_approval"].elements["active_flag"].value="0"; string PackageId = document.forms["workflow"].elements["workflowid"].value; string activityId = document.currentworkitem.elements["activityid"].value; string str_description = "Artwork Release"; string mailSubject = "", mailBody = "", strEstimatedDate = ""; mailSubject = "Artwork Release - Notification"; mailBody = "Kindly Release the Artwork from your Login for Workflow Number: "; sendEmailAndGetParticipants(PackageId, activityId, mailSubject, mailBody, strEstimatedDate, str_description); } public void release_postcript() { /*document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Encept Account Manager/Executive For Archival Verification"; document.forms["workflow"].elements["customstatus"].value = "Pending With Encept Account Manager/Executive For Archival Verification"; */ document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending With Printer For Upload Proof File"; document.forms["workflow"].elements["customstatus"].value = "Pending With Printer For Upload Proof File"; } public void bf_printer_prescript() { errorlogger.logmessage("bf_printer_prescript---"); KaromiParameter.form obj_artwork_approval_form = null; KaromiParameter.elementitems obj_repeat; obj_artwork_approval_form = document.forms["encept_britannia_artwork_approval"]; obj_repeat = obj_artwork_approval_form.elements["rpt_printer_mail"].items; int int_count = obj_repeat.count; string str_mailid=""; string mailSubject = "", mailBody = "", strEstimatedDate = "",routeflg = ""; mailSubject = "Proof Upload - Notification"; mailBody = "Below Artwork has been raised with the inputs.Please view the artwork file by downloading from the below link"; for(int int_i=0;int_i" + document.forms["workflow"].elements["workflowid"].value + "9011encept_britannia_artwork_approval"+str_docid+"9E0202" + document.forms["encept_britannia_artwork_approval"].elements["request_no"].value + "finalpdf"); adapterqueue.Dispose(); adapterqueue = null; } public void update_revision_tracking() { string str_query = ""; string str_brand_name = document.forms["encept_britannia_artwork_approval"].elements["brand_name"].value; string str_sku = document.forms["encept_britannia_artwork_approval"].elements["sku"].value; string str_item_desc = document.forms["encept_britannia_artwork_approval"].elements["pack_format"].value; string str_defination_id=document.forms["encept_britannia_artwork_approval"].elements["definition_id"].value; string str_package_id = document.forms["encept_britannia_artwork_approval"].elements["package_id"].value; string str_jobid = document.forms["encept_britannia_artwork_approval"].elements["request_no"].value; string strRegion = document.forms["encept_britannia_artwork_approval"].elements["market"].value; str_query = "insert into jobid_revision_tracker values ('"+str_defination_id+"', '"+str_package_id+"', '"+str_jobid+"', '', '"+str_brand_name+"', '"+str_sku+"', '"+str_item_desc+"',getdate(),'"+strRegion+"')"; obj_db.Execute(str_query); } public void sendEmailAndGetParticipants(string PackageId, string ActivityId, string mailSubject, string mailBody, string strEstimatedDate, string description) { List userKid = new List(); string participantName = string.Empty; try { userKid = GetParticipantKid(); errorlogger.logmessage("UserKID count" + userKid.Count); if (userKid.Count > 0) { participantName = getparticipant(userKid); PopulateCustomStatus(participantName, description); if(description != "" && description != null ) { errorlogger.logmessage("description is null---"); //PopulateCustomStatus(participantName, description); } for (int int_i = 0; int_i < userKid.Count; int_i++) { string str_userkid = userKid[int_i]; string routeflg = ""; if(mailSubject == "Proof Upload - Notification") { errorlogger.logmessage("Proof Upload - Notification"); routeflg = "0"; sendEmail(str_userkid, "proof_notification", mailSubject, mailBody, strEstimatedDate,routeflg); } else { errorlogger.logmessage("AW Upload - Notification" ); routeflg = "0"; sendEmail(str_userkid, "notification", mailSubject, mailBody, strEstimatedDate,routeflg); } } //participantName = getparticipant(userKid); errorlogger.logmessage("Custom Status Names " + participantName); //PopulateCustomStatus(participantName, description); } } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } } public void sendEmailAndGetParticipantsForReviewers(string PackageId, string ActivityId, string mailSubject, string mailBody, string strEstimatedDate, string description) { List userKid = new List(); string participantName = string.Empty; try { userKid = GetParticipantKid(); errorlogger.logmessage("UserKID count" + userKid.Count); if (userKid.Count > 0) { participantName = getparticipant(userKid); //PopulateCustomStatus(participantName, description); if(description != "" && description != null ) { errorlogger.logmessage("description is null---"); //PopulateCustomStatus(participantName, description); } for (int int_i = 0; int_i < userKid.Count; int_i++) { string str_userkid = userKid[int_i]; string routeflg = ""; if(mailSubject == "Proof Upload - Notification") { errorlogger.logmessage("Proof Upload - Notification"); routeflg = "0"; sendEmail(str_userkid, "proof_notification", mailSubject, mailBody, strEstimatedDate,routeflg); } else { errorlogger.logmessage("AW Upload - Notification" ); routeflg = "0"; sendEmail(str_userkid, "notification", mailSubject, mailBody, strEstimatedDate,routeflg); } } //participantName = getparticipant(userKid); errorlogger.logmessage("Custom Status Names " + participantName); //PopulateCustomStatus(participantName, description); } } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } } private void sendEmail(string str_participant_kid, string notification_flag, string mailSubject, string mailBody, string strEstimatedDate,string routeflg) { errorlogger.logmessage("sendEmail"); string str_subject = "", str_body = "", str_sql = "", str_mailfromemail = "", str_mailtoemail = "", str_mailid = "", str_packageid = "", str_usermailid = "", str_user_mailid = "", str_qry = "", str_link = "", str_encripteddataform = "", str_formemaillinkurl = "",str_mailbody = ""; DataSet ds_dataset = null; string str_bcc = ""; int int_count = 0; Karomi.Messaging.email obj_email = new Karomi.Messaging.email(); obj_email.loggedinuser = obj_user; obj_email.db = obj_db; try { // str_packageid need to check str_packageid = document.forms["workflow"].elements["workflowid"].value; strEstimatedDate = document.currentworkitem.elements["estimatedenddate"].value; WorkflowEmailLink obj_wfformemaillink = new WorkflowEmailLink(); if(routeflg != "1") obj_wfformemaillink.uid = str_participant_kid; obj_wfformemaillink.workitemid = document.currentworkitem.elements["workitemid"].value; obj_wfformemaillink.packageid = str_packageid; obj_wfformemaillink.viewtype = "form"; //request number need to check obj_wfformemaillink.selectedinbox = "0011H1V242H14M7P8DN4H6Q2OHFF1C"; // Inbox id obj_wfformemaillink.applicationId = "001L727IE5HJE4DMZAM1GT4B21Q1K0"; // applicationId string str_json = global.EmailLink_SerializeObject(obj_wfformemaillink); //Encode the framed link: Karomi.Security.password obj_pwd = new password(); obj_pwd.createpassword(str_json, out str_encripteddataform); //Get hash value for the encoded data: string hash = CalculateMD5Hash(str_json); /* Email link generater*/ str_formemaillinkurl += obj_db.serverconfig.website + "/karomi/login/login.aspx?&data="; str_formemaillinkurl += global.HttpUrlEncode(str_encripteddataform); str_formemaillinkurl += "&h=" + hash + "&companyid=" + obj_db.companyid; str_link = str_formemaillinkurl; errorlogger.logmessage("str_link--"+str_link); if (str_packageid != "" && str_packageid != null) { if (notification_flag == "notification") { errorlogger.logmessage("notification--"); str_subject = mailSubject; str_subject = str_subject + " - Workflow Number: " + document.forms["encept_britannia_artwork_approval"].elements["request_no"].value; str_mailbody = mailBody + document.forms["encept_britannia_artwork_approval"].elements["request_no"].value; str_body = "


Hello,
  "+str_mailbody+"

"+ "

"+ ""+ ""+ ""+ " "+ ""+ ""+ ""+ " "+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ "
Artwork Initiation Details
Created By" +document.forms["encept_britannia_artwork_approval"].elements["created_by"].value+"Created Date"+document.forms["encept_britannia_artwork_approval"].elements["created_date"].value+"
Workflow Number"+document.forms["encept_britannia_artwork_approval"].elements["request_no"].value+"Encept Job ID"+document.forms["encept_britannia_artwork_approval"].elements["job_id"].value+"
Type of Artwork"+document.forms["encept_britannia_artwork_approval"].elements["type_aw"].value+"Workflow Type"+document.forms["encept_britannia_artwork_approval"].elements["wf_type"].value+"
Object ID"+document.forms["encept_britannia_artwork_approval"].elements["sapobject_id"].value+"Project Name"+document.forms["encept_britannia_artwork_approval"].elements["project_name"].value+"
Brand Name"+document.forms["encept_britannia_artwork_approval"].elements["brand_name"].value+"Brand Extension "+document.forms["encept_britannia_artwork_approval"].elements["brand_extrn"].value+"
Variant"+document.forms["encept_britannia_artwork_approval"].elements["variant"].value+"SKU "+document.forms["encept_britannia_artwork_approval"].elements["sku"].value+"
Region/Market"+document.forms["encept_britannia_artwork_approval"].elements["region_market"].value+"Packing Format"+document.forms["encept_britannia_artwork_approval"].elements["pack_format"].value+"
For more details please click Login URL
"+ ""+ ""+ ""+ ""+ ""+ ""+ "
"+ "

Best Regards,

"+ "

Team Encept

"+ "
"+ "

Note : This is an auto-generated mail. Please don't reply to it. In case of queries, please contact mars@enceptpremedia.com

"; } else if (notification_flag == "proof_notification") { string str_artwork_link = string.Empty; string package_id=document.forms["workflow"].elements["workflowid"].value; errorlogger.logmessage("package_id:"+package_id); string str_file_id = string.Empty; string str_sql1 = "select versionid from f_encept_britannia_artwork_approval_v1 as a with(nolock) inner join f_encept_britannia_artwork_approval_v1_general_attachment as b with (nolock) on a.form_data_id=b.form_data_id inner join kb_version on b.general_attachment_id=kb_version.fileid where a.package_id ='"+package_id+"' and b.general_filetype='Artwork File' order by version_no desc"; obj_db.GetSingleValue(str_sql1, 0, out str_file_id); errorlogger.logmessage("str_sql1:"+str_sql1); errorlogger.logmessage("str_file_id:"+str_file_id); if(str_file_id != null && str_file_id != "") { str_artwork_link = "Artwork FileClick here to Download Artwork File"; } errorlogger.logmessage("str_artwork_link:"+str_artwork_link); errorlogger.logmessage("proof_notification--"); str_subject = mailSubject; str_subject = str_subject + " - Workflow Number: " + document.forms["encept_britannia_artwork_approval"].elements["request_no"].value; str_mailbody = mailBody; str_body = "


Hello,
  "+str_mailbody+"

"+ "

"+ ""+ ""+ ""+ " "+ ""+ ""+ ""+ " "+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+str_artwork_link+ ""+ ""+ ""+ ""+ ""+ ""+ "
Artwork Initiation Details
Created By" +document.forms["encept_britannia_artwork_approval"].elements["created_by"].value+"Created Date"+document.forms["encept_britannia_artwork_approval"].elements["created_date"].value+"
Workflow Number"+document.forms["encept_britannia_artwork_approval"].elements["request_no"].value+"Encept Job ID"+document.forms["encept_britannia_artwork_approval"].elements["job_id"].value+"
Type of Artwork"+document.forms["encept_britannia_artwork_approval"].elements["type_aw"].value+"Workflow Type"+document.forms["encept_britannia_artwork_approval"].elements["wf_type"].value+"
Object ID"+document.forms["encept_britannia_artwork_approval"].elements["sapobject_id"].value+"Project Name"+document.forms["encept_britannia_artwork_approval"].elements["project_name"].value+"
Brand Name"+document.forms["encept_britannia_artwork_approval"].elements["brand_name"].value+"Brand Extension "+document.forms["encept_britannia_artwork_approval"].elements["brand_extrn"].value+"
Variant"+document.forms["encept_britannia_artwork_approval"].elements["variant"].value+"SKU "+document.forms["encept_britannia_artwork_approval"].elements["sku"].value+"
Region/Market"+document.forms["encept_britannia_artwork_approval"].elements["region_market"].value+"Packing Format"+document.forms["encept_britannia_artwork_approval"].elements["pack_format"].value+"
Artwork Source File Path"+document.forms["encept_britannia_artwork_approval"].elements["source_file_path"].value+"
"+ ""+ ""+ ""+ ""+ ""+ ""+ "
"+ "

Best Regards,

"+ "

Team Encept

"+ "
"+ "

Note : This is an auto-generated mail. Please don't reply to it. In case of queries, please contact mars@enceptpremedia.com

"; } else if (notification_flag == "release") { errorlogger.logmessage("release--"); str_subject = mailSubject + " - Workflow Number: " + document.forms["encept_britannia_artwork_approval"].elements["request_no"].value; str_mailbody = mailBody + document.forms["encept_britannia_artwork_approval"].elements["request_no"].value; str_body = "


Hello,
  "+str_mailbody+"

"+ "

"+ ""+ ""+ ""+ " "+ ""+ ""+ ""+ " "+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ ""+ "
Artwork Initiation Details
Created By" +document.forms["encept_britannia_artwork_approval"].elements["created_by"].value+"Created Date"+document.forms["encept_britannia_artwork_approval"].elements["created_date"].value+"
Workflow Number"+document.forms["encept_britannia_artwork_approval"].elements["request_no"].value+"Encept Job ID"+document.forms["encept_britannia_artwork_approval"].elements["job_id"].value+"
Type of Artwork"+document.forms["encept_britannia_artwork_approval"].elements["type_aw"].value+"Workflow Type"+document.forms["encept_britannia_artwork_approval"].elements["wf_type"].value+"
Object ID"+document.forms["encept_britannia_artwork_approval"].elements["sapobject_id"].value+"Project Name"+document.forms["encept_britannia_artwork_approval"].elements["project_name"].value+"
Brand Name"+document.forms["encept_britannia_artwork_approval"].elements["brand_name"].value+"Brand Extension "+document.forms["encept_britannia_artwork_approval"].elements["brand_extrn"].value+"
Variant"+document.forms["encept_britannia_artwork_approval"].elements["variant"].value+"SKU "+document.forms["encept_britannia_artwork_approval"].elements["sku"].value+"
Region/Market"+document.forms["encept_britannia_artwork_approval"].elements["region_market"].value+"Packing Format"+document.forms["encept_britannia_artwork_approval"].elements["pack_format"].value+"
"+ ""+ ""+ ""+ ""+ ""+ ""+ "
"+ "

Best Regards,

"+ "

Team Encept

"+ "
"+ "

Note : This is an auto-generated mail. Please don't reply to it. In case of queries, please contact mars@enceptpremedia.com

"; } errorlogger.logmessage("str_body--->"+str_body); if(routeflg == "0"){ str_sql = "select portal_user.user_mailid from portal_user with(nolock) where portal_user.user_kid='001' and portal_user.user_isactivated='1'"; obj_db.GetSingleValue(str_sql, 0, out str_mailfromemail); str_qry = "select portal_user.user_mailid as user_mailid from portal_user with(nolock) where portal_user.user_kid = '" + str_participant_kid + "' and portal_user.user_isactivated='1'"; obj_db.GetDataSet(str_qry, out ds_dataset); if (ds_dataset != null && ds_dataset.Tables[0].Rows.Count > 0) { int_count = ds_dataset.Tables[0].Rows.Count; for (int int_j = 0; int_j < int_count; int_j++) { str_usermailid = ds_dataset.Tables[0].Rows[int_j]["user_mailid"].ToString(); if (int_j > 0) { str_user_mailid += "," + str_usermailid; } else { str_user_mailid += str_usermailid; } } } str_mailtoemail = str_user_mailid; } else if(routeflg == "1"){ str_sql = "select portal_user.user_mailid from portal_user with(nolock) where portal_user.user_kid='001' and portal_user.user_isactivated='1'"; obj_db.GetSingleValue(str_sql, 0, out str_mailfromemail); str_mailtoemail = str_participant_kid; errorlogger.logmessage("routeflg == 1 " + str_mailtoemail); } errorlogger.logmessage("str_mailtoemail " + str_mailtoemail); if (str_mailfromemail != "" && str_mailtoemail != "") { //obj_email.add(str_mailtoemail, str_subject, str_body, str_mailfromemail, "", "", "", out str_mailid); obj_email.add(str_mailtoemail, str_subject, str_body, "admin@manageartworks.com", "", str_bcc, "", out str_mailid); Karomi.Messaging.sendemail obj_sendemail = new Karomi.Messaging.sendemail(); obj_sendemail.db = obj_db; obj_sendemail.loggedinuser = obj_user; errorlogger.logmessage(" checkMailId " + str_mailid); errorlogger.logmessage("str_mailid" + str_mailid); obj_sendemail.sendit(str_mailid); } obj_email.Dispose(); obj_email = null; } } catch (Exception ex) { errorlogger.logmessage("mail exception :" + ex); } } private string CalculateMD5Hash(string input) { // step 1, calculate MD5 hash from input MD5 md5 = System.Security.Cryptography.MD5.Create(); byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); byte[] hash = md5.ComputeHash(inputBytes); // step 2, convert byte array to hex string StringBuilder sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("X2")); } return sb.ToString(); } public List GetParticipantKid() { string templateXML = string.Empty; List userKid = new List(); string str_userkid = string.Empty; try { string query = "DECLARE @temp VARCHAR(MAX);SELECT @temp = COALESCE(@temp+',','') + participant_name FROM " + obj_db.datadb + "wf_participant " + obj_db.nolock + "" + " where workitem_id in ('" + document.currentworkitem.elements["workitemid"].value + "') and participant_type=5 order by participant_name SELECT @temp as 'name'"; obj_db.GetSingleValue(query, 0, out str_userkid); errorlogger.logmessage("Participant Query " + query); errorlogger.logmessage("Participant KID " + str_userkid); if (string.IsNullOrEmpty(str_userkid)) { query = "DECLARE @temp VARCHAR(MAX);SELECT @temp = COALESCE(@temp+',' ,'') + participant_name FROM " + obj_db.datadb + "wf_participant " + obj_db.nolock + "" + " where workitem_id in ('" + document.currentworkitem.elements["workitemid"].value + "') and participant_type=3 order by participant_name SELECT @temp as 'name'"; obj_db.GetSingleValue(query, 0, out str_userkid); if (!string.IsNullOrEmpty(str_userkid)) { query = "DECLARE @temp VARCHAR(MAX);SELECT @temp = COALESCE(@temp+',','') + user_kid FROM " + obj_db.datadb + "portal_collection_user " + obj_db.nolock + "" + " where collection_id in ('" + str_userkid.Replace("'", "''") + "') order by user_kid SELECT @temp as 'UserKid'"; obj_db.GetSingleValue(query, 0, out str_userkid); if (!string.IsNullOrEmpty(str_userkid)) { userKid = new List(str_userkid.Split(',')); errorlogger.logmessage("Participant Type 3 User KID Count" + userKid.Count); } } if (string.IsNullOrEmpty(str_userkid)) { query = "select participant_name from wf_participant with (nolock) where workitem_id='" + document.currentworkitem.elements["workitemid"].value + "'"; obj_db.GetSingleValue(query, 0, out str_userkid); if (str_userkid == "workflow.creatorid") { str_userkid = document.forms["workflow"].elements["creatorid"].value; } else { string[] FormParameter = str_userkid.Split('.'); str_userkid = document.forms["template"].elements[FormParameter[1]].value; int int_status = ResolveParameter(str_userkid); } } } errorlogger.logmessage("str_userkid Values " +str_userkid); userKid = new List(str_userkid.Split(',')); errorlogger.logmessage("UserList KID Count" + userKid.Count); } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } return userKid; } public void releasemail_toallparticipant(string PackageId,string releasemailSubject, string releasemailBody, string releasestrEstimatedDate) { List userKid = new List(); string participantName = string.Empty; string routeflg = ""; routeflg = "0"; try { userKid = GetallparticipatedUserId(PackageId); errorlogger.logmessage("userKid.Count "+userKid.Count); if (userKid.Count > 0) { for (int int_i = 0; int_i < userKid.Count; int_i++) { string str_userkid = userKid[int_i]; sendEmail(str_userkid, "release", releasemailSubject, releasemailBody, releasestrEstimatedDate,routeflg); } } } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } } public void releasemailCompletedparticipant(string PackageId,string releasemailSubject, string releasemailBody, string releasestrEstimatedDate) { List userKid = new List(); string participantName = string.Empty; string routeflg = ""; routeflg = "0"; try { userKid = GetParticipatedUserId(PackageId); errorlogger.logmessage("userKid.Count "+userKid.Count); if (userKid.Count > 0) { for (int int_i = 0; int_i < userKid.Count; int_i++) { string str_userkid = userKid[int_i]; sendEmail(str_userkid, "release", releasemailSubject, releasemailBody, releasestrEstimatedDate,routeflg); } } } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } } public List GetallparticipatedUserId(string PackageId) { DataSet ds_participants = null; List userKid = new List(); string userskid = "select a.userkid as user_kid from (select wf_participant_history.participant_name as userkid from wf_instance inner join " + obj_db.logdb + "wf_workitem_history on package_id = '"+PackageId+"' and wf_workitem_history.instance_id = wf_instance.instance_id inner join " + obj_db.logdb + "wf_participant_history on wf_participant_history.workitem_history_id = wf_workitem_history.workitem_history_id union select wf_participant.participant_name as userkid from wf_instance inner join wf_workitem on package_id = '"+PackageId+"' and wf_workitem.instance_id = wf_instance.instance_id inner join wf_participant on wf_participant.workitem_id = wf_workitem.workitem_id) as a inner join portal_user on a.userkid = portal_user.user_kid"; errorlogger.logmessage("userskid--"+userskid); obj_db.GetDataSet(userskid, out ds_participants); if (ds_participants != null && ds_participants.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds_participants.Tables[0].Rows.Count; i++) { string userId = Convert.ToString(ds_participants.Tables[0].Rows[i]["user_kid"]); userKid.Add(userId); } } return userKid; } public List GetParticipatedUserId(string PackageId) { DataSet ds_participants = null; List userKid = new List(); string userskid = "select a.userkid as user_kid from (select distinct wf_participant_history.participant_name as userkid from wf_instance inner join " + obj_db.logdb + "wf_workitem_history on package_id = '"+PackageId+"' and wf_workitem_history.instance_id = wf_instance.instance_id inner join " + obj_db.logdb + " wf_participant_history on wf_participant_history.workitem_history_id = wf_workitem_history.workitem_history_id ) as a inner join portal_user on a.userkid = portal_user.user_kid"; obj_db.GetDataSet(userskid, out ds_participants); if (ds_participants != null && ds_participants.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds_participants.Tables[0].Rows.Count; i++) { string userId = Convert.ToString(ds_participants.Tables[0].Rows[i]["user_kid"]); userKid.Add(userId); } } return userKid; } private int ResolveParameter(string str_userid) { int int_status = globalconstants.STATUS_ERROR; string str_sql = string.Empty; string str_count = string.Empty; string str_collectionId = string.Empty; Karomi.Security.user obj_user = new Karomi.Security.user(); try { if (!string.IsNullOrEmpty(str_userid)) { //check if the user is valid (active or not) obj_user.db = obj_db; int_status = obj_user.loaduser(str_userid); if (obj_user.ifexists) { int_status = globalconstants.STATUS_SUCCESS; } else { string query = "DECLARE @temp VARCHAR(MAX);SELECT @temp = COALESCE(@temp+',','') + user_kid FROM " + obj_db.datadb + "portal_collection_user " + obj_db.nolock + "" + " where collection_id in ('" + str_userid.Replace("'", "''") + "') order by user_kid SELECT @temp as 'UserKid'"; obj_db.GetSingleValue(query, 0, out str_collectionId); if (!string.IsNullOrEmpty(str_collectionId)) { str_userid = str_collectionId; int_status = globalconstants.STATUS_SUCCESS; } else { str_userid = ""; int_status = globalconstants.STATUS_ERROR; } } } } catch (Exception ex) { errorlogger.logerror(ex, "Exception Occured in ResolveParameter in The CustomScript"); str_userid = ""; int_status = globalconstants.STATUS_ERROR; } finally { obj_user.Dispose(); obj_user = null; } return int_status; } public string GetWorkflowTemplateXML(string packageId, string activityId) { int returnStatus = globalconstants.STATUS_ERROR; string sql = string.Empty; string templateXML = string.Empty; //DataSet obj_ds = null; try { sql = "select templateXML from " + obj_db.datadb + "wf_def_template_mapper " + obj_db.nolock + " where packageId='" + packageId + "'"; returnStatus = obj_db.GetSingleValue(sql, 0, out templateXML); } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } return templateXML; } public List GetUserId(string templateXML, string activityId) { // int returnStatus = globalconstants.STATUS_ERROR; XmlNode obj_base; XmlNodeList obj_elemcol = null; XmlDocument obj_xmldoc = new XmlDocument(); XmlNode obj_xmlrole = null; XmlNodeList obj_participantcol = null; DataSet ds_participants = null; List userKid = new List(); try { if (!string.IsNullOrWhiteSpace(templateXML)) { obj_xmldoc.LoadXml(templateXML); obj_base = (XmlNode)obj_xmldoc.DocumentElement; obj_elemcol = obj_base.SelectNodes("//Activity[@Id='" + activityId + "']"); if (obj_elemcol.Count > 0) { foreach (XmlNode obj_node in obj_elemcol) { obj_participantcol = obj_node.SelectNodes("Participants/Participant"); if (obj_participantcol.Count > 0) { foreach (XmlNode obj_participant in obj_participantcol) { string str_participantname = ""; int int_type = 0; string str_value = ""; xmlutil.getattribute(null, obj_participant, "Name", out str_participantname); xmlutil.getattribute(null, obj_participant, "Type", out str_value); if (Int32.TryParse(str_value, out int_type) == false) { int_type = 0; } if (int_type == 3) { string roleId = string.Empty; xmlutil.getnode(null, obj_participant, "Role", out obj_xmlrole); xmlutil.getattribute(null, obj_xmlrole, "role", out roleId); if (!string.IsNullOrWhiteSpace(roleId)) { string collectionUsers = "select user_kid from " + obj_db.datadb + "portal_collection_user " + obj_db.nolock + " where collection_id='" + roleId + "'"; obj_db.GetDataSet(collectionUsers, out ds_participants); if (ds_participants != null && ds_participants.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds_participants.Tables[0].Rows.Count; i++) { string userId = Convert.ToString(ds_participants.Tables[0].Rows[i]["user_kid"]); userKid.Add(userId); } } } } else if (int_type == 5) { userKid.Add(str_participantname); } } } } } } } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } finally { if (obj_xmldoc != null) obj_xmldoc = null; if (ds_participants != null) ds_participants = null; } return userKid; } public string GetRepeatElementValues(string RepeatTable, string RepeatElement) { KaromiParameter.form obj_form = null; KaromiParameter.elementitems obj_repeat; string RepeatElementValue = ""; obj_form = document.forms["encept_britannia_artwork_approval"]; int int_count = 0; obj_repeat = obj_form.elements[RepeatTable].items; int_count = obj_repeat.count; for (int int_i = 0; int_i < int_count; int_i++) { if (int_i == 0) RepeatElementValue = obj_form.elements[RepeatTable].items[int_i].elements[RepeatElement].value; else { RepeatElementValue += ", "; RepeatElementValue += obj_form.elements[RepeatTable].items[int_i].elements[RepeatElement].value; } } obj_repeat = null; obj_form = null; return RepeatElementValue; } public string getparticipant(List userKid) { int returnStatus = globalconstants.STATUS_ERROR; string username = string.Empty; string query = string.Empty; try { if (userKid != null && userKid.Count > 0) { string s = string.Format("'{0}'", string.Join("','", userKid)); errorlogger.logmessage("String UserKID " + s); //query="select user_lastname from "+obj_db.datadb+"portal_user "+obj_db.nolock+" where user_kid in ("+s+")"; query = "DECLARE @temp VARCHAR(MAX);SELECT @temp = COALESCE(@temp+',' ,'') + user_lastname FROM " + obj_db.datadb + "portal_user " + obj_db.nolock + "" + " where user_kid in (" + s + ") order by user_lastname SELECT @temp as 'name'"; errorlogger.logmessage("Custom Status Query" + query); obj_db.GetSingleValue(query, 0, out username); errorlogger.logmessage("String UserNames for Custom Status " + username); } } catch (Exception ex) { errorlogger.logerror(ex, ex.StackTrace); } return username; } public void PopulateCustomStatus(string participantName, string str_description) { string str_workitemid = document.currentworkitem.elements["workitemid"].value; string str_participant = string.Empty; try { if (participantName != null && participantName != "") { document.forms["encept_britannia_artwork_approval"].elements["custom_status"].value = "Pending with " + participantName + " for " + str_description; document.forms["workflow"].elements["customstatus"].value = "Pending with " + participantName + " for " + str_description; } } catch (Exception ex) { errorlogger.logerror(ex, " Karomi.Global.//PopulateCustomStatus"); } } protected virtual void Dispose(bool disposedStatus) { if (!IsDisposed) { if (disposedStatus) { document = null; obj_db = null; obj_user = null; IsDisposed = true; } } } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } ~customscript() { Dispose(false); } } }