public bool SetETLBusinessObjectStatus(Session session, Guid jobId, Guid RefId, short rowstatus) { bool result = true; try { BusinessObjectBO businessObjectBO = new BusinessObjectBO(); BusinessObject businessObject = businessObjectBO.GetBusinessObjectByRefId(session, RefId); if (businessObjectBO == null) { return(false); } ETLBusinessObject etlBusinessObject = GetETLBusinessObject(session, jobId, businessObject.BusinessObjectId); if (etlBusinessObject == null) { result = false; return(result); } etlBusinessObject.RowStatus = rowstatus; etlBusinessObject.Save(); } catch (Exception) { return(result); } return(result); }
public ETLBusinessObject GetETLBusinessObject(Session session, Guid jobId, Int64 ObjectId) { ETLBusinessObject etlBusinessObject = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return(null); } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("BusinessObjectId", businessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); etlBusinessObject = session.FindObject <ETLBusinessObject>(criteria); } catch (Exception) { throw; } return(etlBusinessObject); }
public BusinessObject GetOldestUnprocessedObject(Session session, Guid jobId, List <int> ObjectType) { BusinessObject oldestObject = null; try { ETLJob etlJob = session.GetObjectByKey <ETLJob>(jobId); if (etlJob == null) { return(null); } ETLLogBO etlLogBO = new ETLLogBO(); XPCollection <ETLBusinessObject> etlBusinessObjectCollection = etlLogBO.GetChangedIssuedDateETLBusinessObject(session, jobId); if (etlBusinessObjectCollection != null && etlBusinessObjectCollection.Count() != 0) { etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObject.IssuedDateTimeStamp", SortingDirection.Ascending)); ETLBusinessObject oldestETLBusinessObject = etlBusinessObjectCollection.FirstOrDefault(); etlBusinessObjectCollection = etlLogBO.GetNewerETLBusinessObject(session, jobId, oldestETLBusinessObject.BusinessObjectIssuedDateTimeStamp); foreach (ETLBusinessObject EBO in etlBusinessObjectCollection) { EBO.RowStatus = -2; EBO.Save(); } oldestETLBusinessObject.RowStatus = -2; oldestETLBusinessObject.Save(); } CriteriaOperator criteria_0 = new InOperator("ObjectType", ObjectType); CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1); XPCollection <BusinessObject> businessObjectCollection = new XPCollection <BusinessObject>(session, criteria); businessObjectCollection.Sorting.Add(new SortProperty("ObjectIssueDate", SortingDirection.Ascending)); businessObjectCollection.Sorting.Add(new SortProperty("IssuedDateTimeStamp", SortingDirection.Ascending)); foreach (BusinessObject bo in businessObjectCollection) { if (NeedToBeProcessed(session, bo.BusinessObjectId, jobId)) { return(bo); } } } catch (Exception) { throw; } return(oldestObject); }
public void CreateETLBusinessObject(Session session, Guid ETLJobId, Int64 ObjectId) { try { ETLJob job = session.GetObjectByKey <ETLJob>(ETLJobId); if (job == null) { return; } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return; } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("BusinessObjectId", businessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); ETLBusinessObject etlBusinessObject = session.FindObject <ETLBusinessObject>(criteria); if (etlBusinessObject != null) { etlBusinessObject.RowStatus = Constant.ROWSTATUS_ACTIVE; etlBusinessObject.BusinessObjectIssuedDateTimeStamp = businessObject.ObjectIssueDate; etlBusinessObject.Save(); return; } etlBusinessObject = new ETLBusinessObject(session); etlBusinessObject.BusinessObjectId = businessObject; etlBusinessObject.ETLJobId = job; etlBusinessObject.RowStatus = Constant.ROWSTATUS_ACTIVE; etlBusinessObject.BusinessObjectIssuedDateTimeStamp = businessObject.ObjectIssueDate; etlBusinessObject.Save(); ETLBusinessObject LastETLBusinessObject = GetNearestETLBusinessObject(session, ETLJobId, ObjectId); etlBusinessObject.PreviousETLBusinessObjectId = LastETLBusinessObject; etlBusinessObject.Save(); } catch (Exception) { throw; } }
public bool NeedToBeProcessed(Session session, Int64 ObjectId, Guid jobId) { bool result = false; BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return(false); } ETLJob etlJob = session.GetObjectByKey <ETLJob>(jobId); if (etlJob == null) { return(false); } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", etlJob, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("BusinessObjectId", businessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); ETLBusinessObject etlBusinessObject = session.FindObject <ETLBusinessObject>(criteria); if (etlBusinessObject == null) { return(true); } ObjectEntryLogBO objectEntryLogBO = new ObjectEntryLogBO(); ObjectEntryLog objectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObject.BusinessObjectId); if (objectEntryLog == null) { objectEntryLogBO.CreateObjectEntryLog(session, businessObject); objectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObject.BusinessObjectId); } if (!IsExistETLEntryObjectHistory(session, jobId, objectEntryLog.ObjectEntryLogId)) { return(true); } return(result); }
public void CreatETLEntryObjectHistory(Session session, Guid jobId, Int64 businessObjectId, int ErrorCode) { try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return; } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(businessObjectId); if (businessObject == null) { return; } ObjectEntryLogBO objectEntryLogBO = new ObjectEntryLogBO(); ETLLogBO etlLogBO = new ETLLogBO(); ObjectEntryLog newestObjectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObjectId); if (newestObjectEntryLog == null) { return; } ETLBusinessObject etlBusinessObject = etlLogBO.GetETLBusinessObject(session, jobId, businessObjectId); if (etlBusinessObject == null) { return; } ETLEntryObjectHistory etlEntryObjectHistory = new ETLEntryObjectHistory(session); etlEntryObjectHistory.ErrorCode = ErrorCode; etlEntryObjectHistory.ETLBusinessObjectId = etlBusinessObject; etlEntryObjectHistory.ObjectEntryLogId = newestObjectEntryLog; etlEntryObjectHistory.RowTimeStamp = DateTime.Now; etlEntryObjectHistory.RowStatus = 0; etlEntryObjectHistory.Save(); } catch (Exception) { throw; } }
public ETLBusinessObject GetLastProcessedObject(Session session, Guid jobId) { ETLBusinessObject etlBusinessObject = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1); XPCollection <ETLBusinessObject> etlBusinessObjectCollection = new XPCollection <ETLBusinessObject>(criteria); etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObjectIssuedDateTimeStamp", SortingDirection.Descending)); etlBusinessObject = etlBusinessObjectCollection.FirstOrDefault(); } catch (Exception) { throw; } return(etlBusinessObject); }
public bool SetETLBusinessObjectStatus(Session session, Guid jobId, Int64 ObjectId, short rowstatus) { bool result = true; try { ETLBusinessObject etlBusinessObject = GetETLBusinessObject(session, jobId, ObjectId); if (etlBusinessObject == null) { result = false; return(result); } etlBusinessObject.RowStatus = rowstatus; etlBusinessObject.Save(); } catch (Exception) { return(result); } return(result); }
public ETLEntryObjectHistory GetETLEntryObjectHistory(Session session, Guid jobId, Int64 businessObjectId) { ETLEntryObjectHistory etlEntryObjectHistory = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(businessObjectId); if (businessObject == null) { return(null); } ObjectEntryLogBO objectEntryLogBO = new ObjectEntryLogBO(); ETLLogBO etlLogBO = new ETLLogBO(); ObjectEntryLog newestObjectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObjectId); ETLBusinessObject etlBusinessObject = etlLogBO.GetETLBusinessObject(session, jobId, businessObjectId); if (etlBusinessObject == null) { return(null); } CriteriaOperator criteria_0 = new BinaryOperator("ETLBusinessObjectId", etlBusinessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator(new OperandProperty("ObjectEntryLogId.BusinessObjectId.BusinessObjectId"), businessObject.BusinessObjectId, BinaryOperatorType.Equal); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1); etlEntryObjectHistory = session.FindObject <ETLEntryObjectHistory>(criteria); } catch (Exception) { throw; } return(etlEntryObjectHistory); }
public ETLBusinessObject GetNearestETLBusinessObject(Session session, Guid jobId, Int64 ObjectId) { ETLBusinessObject etlBusinessObject = null; try { XPCollection <ETLBusinessObject> etlBusinessObjectCollection = GetOlderETLBusinessObject(session, jobId, ObjectId); if (etlBusinessObjectCollection == null) { return(null); } else { etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObjectIssuedDateTimeStamp", SortingDirection.Descending)); etlBusinessObject = etlBusinessObjectCollection.FirstOrDefault(); } } catch (Exception) { throw; } return(etlBusinessObject); }