public static List<AssignmentDetails> FindAssignmentsBySourceSystem(eWMSourceSystem SourceSystem, List<AssignmentDetails> searchList)
 {
     return searchList.FindAll(new Predicate<AssignmentDetails>
     (
         new SearchAssignmentsBySourceSystemClass(SourceSystem).PredicateDelegate)
     );
 }
        private void Load(eWMSourceSystem wmSourceSystem)
        {
            DataSet dsData = null;
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "selJobsForMobile";

            colParameters.Add(new SqlParameter("@WMSourceSystem", wmSourceSystem.ToString()));
            dsData = objADO.GetDataSet(strStoredProcedure, (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            if (dsData != null && dsData.Tables.Count > 0)
            {
                Populate(dsData);
            }
        }
		public static DataTable JobUpdateDataTable(int jobID, eWMSourceSystem sourceSystem)
		{
			DataSet results = null;
			DataAccess dataAccess = new DataAccess();
			System.Collections.ArrayList arrayList = new System.Collections.ArrayList();
			System.Data.SqlClient.SqlParameter[] parameters = null;
			string storedProcedure = "selJobUpdatesSerialized";
			dataAccess = Domain.GetADOInstance();

			arrayList.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
			arrayList.Add(new SqlParameter("@WMSourceID", jobID));
			parameters = (SqlParameter[])arrayList.ToArray(typeof(SqlParameter));

			results = dataAccess.GetDataSet(storedProcedure, parameters);
			if (results != null && results.Tables.Count > 0 && results.Tables[0] != null && results.Tables[0].Rows.Count > 0)
			{
				dataAccess = null;
				return results.Tables[0];
			}
			dataAccess = null;
			return null;
		}
Example #4
0
        /// <summary>
        /// Shorthand method for creating and queuing a JobStatusChange in a one line call
        /// </summary>
        /// <param name="jobID"></param>
        /// <param name="sourceSystem"></param>
        /// <param name="jobStatus"></param>
        /// <param name="userID"></param>
        /// <param name="lastUpdated"></param>
        /// <param name="jobInstanceNumber"></param>
        /// <param name="service"></param>
        /// <param name="windowsIdentity"></param>
        /// <param name="isOfficeUser"></param>
        /// <param name="incompleteReason"></param>
        /// <param name="extendedProperties"></param>
        public static void Broadcast(int jobID, eWMSourceSystem sourceSystem, eJobStatus jobStatus, string userID, DateTime lastUpdated, int jobInstanceNumber, string service, string windowsIdentity, bool isOfficeUser, IncompleteReason incompleteReason, SerializableHashTable extendedProperties)
        {
            JobStatusChange statusChange = new JobStatusChange();
            
            statusChange.ID = jobID;
            statusChange.SourceSystem = sourceSystem;
            statusChange.Status = jobStatus;
            statusChange.UserID = userID;
			statusChange.LastUpdated = lastUpdated;
            statusChange.Service = service;
            statusChange.InstanceNumber = jobInstanceNumber;
            if (windowsIdentity == null)
            {
                statusChange.WindowsIdentity = Environment.UserName;
            }
            else
            {
                statusChange.WindowsIdentity = windowsIdentity;
            }
            statusChange.IsOfficeUser = isOfficeUser;
            statusChange.IncompleteReason = incompleteReason;
            statusChange.ExtendedProperties = extendedProperties;
            statusChange.EnqueueMessage();
        }
 public int Save(int jobID, eWMSourceSystem sourceSystem)
 {
     return Save(jobID, sourceSystem, false);
 }
        public static Job GetSerializedObject(int jobID, eWMSourceSystem sourceSystem, bool includeArchived)
        {
            Job deserializedJob = null;

            try
            {
                List<Job> matchingJobs = GetJobsByReference(new string[] { jobID.ToString() }, sourceSystem, includeArchived);
                if (matchingJobs.Count > 0)
                {
                    deserializedJob = (Job)matchingJobs[0];
                }
            }
            catch (Exception excE)
            {
                JobLoadException jobLoadException = new BusinessObjects.WorkManagement.JobLoadException(excE);
                jobLoadException.JobID = jobID;
                jobLoadException.Source = sourceSystem.ToString();

                throw jobLoadException;
            }

            return deserializedJob;
        }
 public bool Save(string wmSourceID, eWMSourceSystem sourceSystem)
 {
     return Save(wmSourceID, sourceSystem, eFileAssociationType.Unspecified);
 }
        public int Save(int jobID, eWMSourceSystem sourceSystem, bool informEngineers)
        {
            if (string.IsNullOrEmpty(mstrText))
            {
                return 0;
            }

            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "insJobComment";
            int intRowsAffected = 0;

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            colParameters.Add(new SqlParameter("@ChangeDate", mdteChangeDate));
            colParameters.Add(new SqlParameter("@ChangeUser", mstrChangeUser));
            colParameters.Add(new SqlParameter("@IsEngineerComment", mblnIsEngineerComment));
            //CR : 2396 , IsCommentsCritical is used for filtering whether comments are critical / normal
            //Changed as per RAB's review comments  to IsCritical
            colParameters.Add(new SqlParameter("@IsCritical", mblnIsCritical));
            colParameters.Add(new SqlParameter("@CommentType", mobjType.ToString()));
            colParameters.Add(new SqlParameter("@CommentText", mstrText));
            if (informEngineers)
            {
                colParameters.Add(new SqlParameter("@InformEngineers", true));
            }
            if (!string.IsNullOrEmpty(mstrSortExpression))
            {
                colParameters.Add(new SqlParameter("@SortExpression", mstrSortExpression));
            }

            intRowsAffected = objADO.ExecuteSQL(strStoredProcedure, (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            return intRowsAffected;
        }
 public bool Save(int jobID, eWMSourceSystem sourceSystem, DateTime dateRecorded)
 {
     return Save(jobID, sourceSystem, dateRecorded, -1);
 }
 public static string[] GetAssigneeInformation(int jobID, eWMSourceSystem sourceSystem)
 {
     return GetAssigneeInformation(jobID, sourceSystem, -1, false);
 }
 public static string[] GetAssigneeInformation(int jobID, eWMSourceSystem sourceSystem, int instanceNumber)
 {
     return GetAssigneeInformation(jobID, sourceSystem, instanceNumber, false);
 }
        public static List<WorkflowAuditRecord> GetWorkflowAuditHistory(int jobID, eWMSourceSystem sourceSystem)
        {
            List<WorkflowAuditRecord> auditHistory = new List<WorkflowAuditRecord>();

            DataTable dtData = null;
            DataAccess objADO = Domain.GetADOInstance();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "selJobStatusAudit";

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            dtData = objADO.GetDataTable(strStoredProcedure, "WorkflowAuditHistory", (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            if (dtData.Rows.Count > 0)
            {
                WorkflowAuditRecord newAuditRecord = null;
                foreach (DataRow drAudit in dtData.Rows)
                {
                    newAuditRecord = new WorkflowAuditRecord();
                    newAuditRecord.ChangeDate = (DateTime)drAudit["ChangeDate"];
                    newAuditRecord.Status = (eJobStatus)Enum.Parse(typeof(eJobStatus), drAudit["JobStatus"].ToString());
                    if (!drAudit["UserID"].Equals(DBNull.Value))
                    {
                        newAuditRecord.ChangeUser = drAudit["UserID"].ToString();
                    }
                    if (!drAudit["ServiceName"].Equals(DBNull.Value))
                    {
                        newAuditRecord.ServiceName = drAudit["ServiceName"].ToString();
                    }

                    auditHistory.Add(newAuditRecord);
                }
            }

            return auditHistory;
        }
        public static DataTable GetWorkInProgressInfo(int jobID, eWMSourceSystem sourceSystem)
        {
            DataTable dtData = null;
            DataAccess objADO = Domain.GetADOInstance();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "selWorkInProgress";

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            dtData = objADO.GetDataTable(strStoredProcedure, "WorkInProgress", (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            return dtData;
        }
 public static List<Job> GetJobsByReference(string[] sourceIDs, eWMSourceSystem sourceSystem, bool includeArchived)
 {
     return GetJobsByReference(sourceIDs, sourceSystem, null, includeArchived);
 }
        public static List<Job> GetJobsByReference(string[] sourceIDs, eWMSourceSystem sourceSystem, Type inheritedType, bool includeArchived)
        {
            List<Job> colJobs = new List<Job>();
            Job deserializedJob = null;
            DataTable dtResults = null;
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            System.Data.SqlClient.SqlParameter[] arrParameters = null;
            DataAccess.ArrayListParameter objParameter = null;
            string strStoredProcedure = "selJobsByReference";

            objADO = Domain.GetADOInstance();

            objParameter = new DataAccess.ArrayListParameter("WMSourceIDs", sourceIDs);
            //If Source System is UnSpecified then it is not relevant .. so any will be returned 
            if (sourceSystem != eWMSourceSystem.Unspecified)
            {
                colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            }
            if (includeArchived)
            {
                colParameters.Add(new SqlParameter("@IncludeArchived", includeArchived));
            }
            arrParameters = (SqlParameter[])colParameters.ToArray(typeof(SqlParameter));

            dtResults = objADO.GetDataSet(strStoredProcedure, objParameter, arrParameters).Tables[0];
            objADO = null;

            foreach (DataRow drSerializedJob in dtResults.Rows)
            {
                Type inheritedTypeToUse = null;

                if (inheritedType == null)
                {
                    inheritedTypeToUse = Type.GetType(drSerializedJob["TypeName"].ToString());
                }
                else
                {
                    inheritedTypeToUse = inheritedType;
                }

                if (!drSerializedJob["Serialized"].Equals(DBNull.Value))
                {
                    System.Xml.XmlDocument objDOM = new System.Xml.XmlDocument();
                    objDOM.LoadXml(drSerializedJob["Serialized"].ToString());
                    deserializedJob = (Job)BusinessObjects.Base.Deserialize(inheritedTypeToUse, objDOM);
                    if (!drSerializedJob["DateReopened"].Equals(DBNull.Value))
                    {
                        deserializedJob.DateReopened = (DateTime)drSerializedJob["DateReopened"];
                    }

                    // NB: Set properties that are Instance specific to empty\default to avoid confusion
                    deserializedJob.Appointment = null;

                    colJobs.Add(deserializedJob);
                }
            }

            return colJobs;
        }
 public static List<Job> GetJobsByReference(string[] sourceIDs, eWMSourceSystem sourceSystem, Type inheritedType)
 {
     return GetJobsByReference(sourceIDs, sourceSystem, inheritedType, false);
 }
        public int Save(int jobID, eWMSourceSystem sourceSystem, bool informEngineers)
        {
            foreach (CommentAuditRecord member in this)
            {
                member.Save(jobID, sourceSystem, informEngineers);
            }

            return (this.Count);
        }
        public static string[] GetAssigneeInformation(int jobID, eWMSourceSystem sourceSystem, int instanceNumber, bool includeArchived)
        {
            DataTable dtData = null;
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "selJobAssignees";

            string[] clickEngineerIDs = null;

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            if (instanceNumber != -1)
            {
                colParameters.Add(new SqlParameter("@JobInstanceNumber", instanceNumber));
            }
            colParameters.Add(new SqlParameter("@IncludeArchived", includeArchived));
            dtData = objADO.GetDataTable(strStoredProcedure, "AssigneeInformation", (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            if (dtData != null && dtData.Rows.Count > 0)
            {
                clickEngineerIDs = new string[dtData.Rows.Count];
                string assigneeID = string.Empty;
                for (int intIndex = 0; intIndex < dtData.Rows.Count; intIndex++)
                {
                    assigneeID = dtData.Rows[intIndex]["UserID"].ToString();
                    if (!dtData.Rows[intIndex]["EmpNo"].Equals(DBNull.Value) && dtData.Rows[intIndex]["EmpNo"] != string.Empty)
                    {
                        assigneeID += ":" + dtData.Rows[intIndex]["EmpNo"].ToString();
                    }
                    clickEngineerIDs[intIndex] = assigneeID;
                }
            }

            return clickEngineerIDs;
        }
Example #19
0
        /// <summary>
        /// Shorthand method for creating and queuing a JobStatusChange in a one line call
        /// </summary>
        /// <param name="jobID"></param>
        /// <param name="sourceSystem"></param>
        /// <param name="jobStatus"></param>
        /// <param name="userID"></param>
        /// <param name="jobInstanceNumber"></param>
        /// <param name="service"></param>
        /// <param name="windowsIdentity"></param>
		public static void Broadcast(int jobID, eWMSourceSystem sourceSystem, eJobStatus jobStatus, string userID, int jobInstanceNumber, string service, string windowsIdentity)
		{
			Broadcast(jobID, sourceSystem, jobStatus, userID, DateTime.Now, jobInstanceNumber, service, windowsIdentity, false, null, null);
		}
        public static List<Job> GetJobsByParentID(int jobID, eWMSourceSystem sourceSystem)
        {
            List<Job> colJobs = new List<Job>();
            DataAccess objADO = Domain.GetADOInstance();
            DataTable dtResults = null;
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "selJobsByParentJobID";

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            dtResults = objADO.GetDataTable(strStoredProcedure, "ChildJobs", (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            if (dtResults.Rows.Count > 0)
            {
                Type inheritedType = null;
                System.Xml.XmlDocument objDOM = new System.Xml.XmlDocument();

                foreach (DataRow drSerializedJob in dtResults.Rows)
                {
                    if (!drSerializedJob["Serialized"].Equals(DBNull.Value))
                    {
                        objDOM.LoadXml(drSerializedJob["Serialized"].ToString());
                        inheritedType = Type.GetType(drSerializedJob["TypeName"].ToString());
                        colJobs.Add((Job)BusinessObjects.Base.Deserialize(inheritedType, objDOM));
                    }
                }
            }

            return colJobs;
        }
Example #21
0
 /// <summary>
 /// Shorthand method for creating and queuing a JobStatusChange in a one line call
 /// </summary>
 /// <param name="jobID"></param>
 /// <param name="sourceSystem"></param>
 /// <param name="jobStatus"></param>
 /// <param name="userID"></param>
 /// <param name="lastUpdated"></param>
 /// <param name="jobInstanceNumber"></param>
 /// <param name="service"></param>
 /// <param name="windowsIdentity"></param>
 /// <param name="isOfficeUser"></param>
 /// <param name="incompleteReason"></param>
 public static void Broadcast(int jobID, eWMSourceSystem sourceSystem, eJobStatus jobStatus, string userID, DateTime lastUpdated, int jobInstanceNumber, string service, string windowsIdentity, bool isOfficeUser, IncompleteReason incompleteReason)
 {
     Broadcast(jobID, sourceSystem, jobStatus, userID, lastUpdated, jobInstanceNumber, service, windowsIdentity, isOfficeUser, incompleteReason);
 }
        /// <summary>
        /// Archives the Job in TaskStore.tblJobArchive
        /// </summary>
        /// <returns></returns>
        public static bool Remove(int jobID, eWMSourceSystem sourceSystem)
        {
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "insJobArchive";

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));

            int intReturn = objADO.ExecuteSQL(strStoredProcedure, (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            return (intReturn > 0);
        }
        public bool Save(int jobID, eWMSourceSystem sourceSystem, DateTime dateRecorded, int jobInstanceNumber)
        {
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            SqlParameter objParameter = null;
            string strStoredProcedure = "insJobTaskUpdate";

            if (mdteDateUpdated == DateTime.MinValue)
            {
                mdteDateUpdated = dateRecorded;
            }

            string strXML = BusinessObjects.Base.Serialize(this.GetType(), this);
            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            colParameters.Add(new SqlParameter("@TypeName", this.GetType().AssemblyQualifiedName));
            objParameter = new SqlParameter("@SerializedObject", SqlDbType.Xml);
            objParameter.Value = new System.Data.SqlTypes.SqlXml(new System.Xml.XmlTextReader(strXML, System.Xml.XmlNodeType.Document, null));
            colParameters.Add(objParameter);
            colParameters.Add(new SqlParameter("@IsComplete", true));
            colParameters.Add(new SqlParameter("@ChangeDate", dateRecorded));  // NB: mdteDateUpdated not used as may have been set on the client
            colParameters.Add(new SqlParameter("@UserID", mstrUserID));
            if (mintID > 0)
            {
                colParameters.Add(new SqlParameter("@TaskID", mintID));
            }
            if (jobInstanceNumber > -1)
            {
                colParameters.Add(new SqlParameter("@JobInstanceNumber", jobInstanceNumber));
            }
            if (mintAssetID > 0)
            {
                colParameters.Add(new SqlParameter("@AssetID", mintAssetID));
            }

            int intReturn = objADO.ExecuteSQL(strStoredProcedure, (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            return (intReturn > 0);
        }
 public ScheduledJobReferences(eWMSourceSystem wmSourceSystem)
 {
     Load(wmSourceSystem);
 }
 public ActiveJobReferences(eWMSourceSystem wmSourceSystem)
 {
     Load(wmSourceSystem);
 }
        public static List<ExtendedAssignment> GetAssignmentsEligibleForDispatch(DateTime maximumDueDate, eWMSourceSystem sourceSystem)
        {
            List<ExtendedAssignment> assignments = new List<ExtendedAssignment>();
            DataTable dtResults = null;
            FinalBuild.DataAccess objADO = Domain.GetADOInstance();
            System.Collections.ArrayList colParameters = new System.Collections.ArrayList();
            string strStoredProcedure = "selAssignmentsEligibleForDispatch";

            // Assemble Parameters
            colParameters.Add(new SqlParameter("@MaximumDueDate", maximumDueDate));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));

            dtResults = objADO.GetDataTable(strStoredProcedure, "Assignments", (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            assignments = PopulateAssignmentsForDispatch(dtResults);

            return assignments;
        }
        public bool Save(string wmSourceID, eWMSourceSystem sourceSystem, eFileAssociationType fileAssociationType)
        {
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "updJobFileAssociation";
            if (fileAssociationType == eFileAssociationType.UserRelated)
            {
                strStoredProcedure = "updUserFileAssociation";
            }
            int intReturn = 0;

            foreach (FileAssociation fileMetadata in this)
            {
                if (fileAssociationType != eFileAssociationType.UserRelated)
                {
                    colParameters.Add(new SqlParameter("@WMSourceID", wmSourceID));
                    colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
                }
                else
                {
                    colParameters.Add(new SqlParameter("@UserID", wmSourceID));
                }
                colParameters.Add(new SqlParameter("@RawFileName", fileMetadata.Path.Substring(fileMetadata.Path.LastIndexOf(@"\") + 1)));
                colParameters.Add(new SqlParameter("@FilePath", fileMetadata.Path));
                colParameters.Add(new SqlParameter("@FileDesc", fileMetadata.Description));
                colParameters.Add(new SqlParameter("@AssociationType", fileMetadata.AssociationType.ToString()));
                colParameters.Add(new SqlParameter("@SizeInBytes", fileMetadata.SizeInBytes));
                colParameters.Add(new SqlParameter("@FileHash", fileMetadata.Hash));
                colParameters.Add(new SqlParameter("@IsEncrypted", fileMetadata.IsEncrypted));
                intReturn += objADO.ExecuteSQL(strStoredProcedure, (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
                colParameters.Clear();
            }
            objADO = null;

            return (intReturn > 0);
        }
        public static CommentAuditRecordCollection FindByJob(int jobID, eWMSourceSystem sourceSystem)
        {
            DataAccess objADO = Domain.GetADOInstance();
            DataTable dtResults = null;
            ArrayList colParameters = new ArrayList();
            string strStoredProcedure = "selJobComments";

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));

            dtResults = objADO.GetDataTable(strStoredProcedure, "Comments", (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            return Populate(dtResults);
        }
 public SearchAssignmentsBySourceSystemClass(eWMSourceSystem sourceSystem)
 {
     this.mstrSourceSystem = sourceSystem;
 }
        public static bool UpdateSerializedContent(int jobID, eWMSourceSystem sourceSystem, string serializedContent)
        {
            DataAccess objADO = new DataAccess();
            ArrayList colParameters = new ArrayList();
            SqlParameter xmlParameter = null;
            string strStoredProcedure = "updFailedJobAuditSerialized";

            colParameters.Add(new SqlParameter("@WMSourceID", jobID));
            colParameters.Add(new SqlParameter("@WMSourceSystem", sourceSystem.ToString()));
            xmlParameter = new SqlParameter("@SerializedObject", SqlDbType.Xml);
            xmlParameter.Value = new System.Data.SqlTypes.SqlXml(new System.Xml.XmlTextReader(serializedContent, System.Xml.XmlNodeType.Document, null));
            colParameters.Add(xmlParameter);

            int intReturn = objADO.ExecuteSQL(strStoredProcedure, (SqlParameter[])colParameters.ToArray(typeof(SqlParameter)));
            objADO = null;

            return (intReturn > 0);
        }