public static bool DbInsert(this TGrabRequest entity, DbSession session) { var query = IORMProvider.GetDbQueryBuilder(session); InsertBuilder builder = new InsertBuilder(); builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.RequestId, entity.RequestId)); builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.SpiderId, entity.SpiderId)); builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.GrabType, entity.GrabType)); if (entity.IssueName == null) { throw new NotImplementedException("缺少必填的参数项值, 参数项: " + nameof(entity.IssueName)); } builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.IssueName, entity.IssueName)); if (entity.SpiderName == null) { throw new NotImplementedException("缺少必填的参数项值, 参数项: " + nameof(entity.SpiderName)); } builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.SpiderName, entity.SpiderName)); builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.ProcessStatus, entity.ProcessStatus)); if (entity.Message == null) { throw new NotImplementedException("缺少必填的参数项值, 参数项: " + nameof(entity.Message)); } builder.ComponentInsert.Add(new ComponentValueOfInsert(TGrabRequestProperties.Message, entity.Message)); query.InsertBuilders.Add(builder); return(IORMProvider.GetQueryOperator(session).Insert <TGrabRequest>(session, query)); }
/// <summary> /// 未查询到数据时返回 null /// </summary> public static TGrabRequest DbSelect(this TGrabRequest entity, DbSession session, params PDMDbProperty[] fields) { var query = IORMProvider.GetDbQueryBuilder(session); SelectBuilder builder = new SelectBuilder(); if (fields.Count() == 0) { builder.ComponentSelect.Add(TGrabRequestProperties.RequestId); builder.ComponentSelect.Add(TGrabRequestProperties.SpiderId); builder.ComponentSelect.Add(TGrabRequestProperties.GrabType); builder.ComponentSelect.Add(TGrabRequestProperties.IssueName); builder.ComponentSelect.Add(TGrabRequestProperties.SpiderName); builder.ComponentSelect.Add(TGrabRequestProperties.ProcessStatus); builder.ComponentSelect.Add(TGrabRequestProperties.Message); } else { builder.ComponentSelect.Add(TGrabRequestProperties.SpiderId); builder.ComponentSelect.Add(TGrabRequestProperties.GrabType); builder.ComponentSelect.Add(TGrabRequestProperties.IssueName); foreach (var field in fields) { builder.ComponentSelect.Add(field); } } builder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.SpiderId, entity.SpiderId, LocateType.Equal)); builder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.GrabType, entity.GrabType, LocateType.Equal)); builder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.IssueName, entity.IssueName, LocateType.Equal)); query.SelectBuilders.Add(builder); return(IORMProvider.GetQueryOperator(session).Select <TGrabRequest>(session, query)); }
public static bool DbDelete(this TGrabRequest entity, DbSession session) { var query = IORMProvider.GetDbQueryBuilder(session); query.DeleteBuilder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.SpiderId, entity.SpiderId, LocateType.Equal)); query.DeleteBuilder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.GrabType, entity.GrabType, LocateType.Equal)); query.DeleteBuilder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.IssueName, entity.IssueName, LocateType.Equal)); return(IORMProvider.GetQueryOperator(session).Delete <TGrabRequest>(session, query)); }
public static bool DbUpdate(this TGrabRequest entity, DbSession session, params PDMDbProperty[] fields) { var query = IORMProvider.GetDbQueryBuilder(session); UpdateBuilder builder = new UpdateBuilder(); builder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.SpiderId, entity.SpiderId, LocateType.Equal)); builder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.GrabType, entity.GrabType, LocateType.Equal)); builder.ComponentWhere.Add(new ComponentValueOfWhere(TGrabRequestProperties.IssueName, entity.IssueName, LocateType.Equal)); if (fields == null || fields.Length == 0) { builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.RequestId, entity.RequestId)); builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.SpiderId, entity.SpiderId)); builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.GrabType, entity.GrabType)); builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.IssueName, entity.IssueName)); builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.SpiderName, entity.SpiderName)); builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.ProcessStatus, entity.ProcessStatus)); builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.Message, entity.Message)); } else { if (fields.Contains(TGrabRequestProperties.RequestId)) { builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.RequestId, entity.RequestId)); } if (fields.Contains(TGrabRequestProperties.SpiderName)) { builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.SpiderName, entity.SpiderName)); } if (fields.Contains(TGrabRequestProperties.ProcessStatus)) { builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.ProcessStatus, entity.ProcessStatus)); } if (fields.Contains(TGrabRequestProperties.Message)) { builder.ComponentSet.Add(new ComponentValueOfSet(TGrabRequestProperties.Message, entity.Message)); } } query.UpdateBuilders.Add(builder); return(IORMProvider.GetQueryOperator(session).Update <TGrabRequest>(session, query)); }
/// <summary> /// 存在相应对象时返回true,缺少对象时返回false /// </summary> public static bool DbLoad(this TGrabRequest entity, DbSession session, params PDMDbProperty[] fields) { var result = entity.DbSelect(session, fields); if (result == null) { return(false); } if (fields.Count() == 0) { entity.RequestId = result.RequestId; entity.SpiderName = result.SpiderName; entity.ProcessStatus = result.ProcessStatus; entity.Message = result.Message; } else { if (fields.Contains(TGrabRequestProperties.RequestId)) { entity.RequestId = result.RequestId; } if (fields.Contains(TGrabRequestProperties.SpiderName)) { entity.SpiderName = result.SpiderName; } if (fields.Contains(TGrabRequestProperties.ProcessStatus)) { entity.ProcessStatus = result.ProcessStatus; } if (fields.Contains(TGrabRequestProperties.Message)) { entity.Message = result.Message; } } return(true); }