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 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 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 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); }