/// <summary> /// The all requisitions pending approval. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="organizationIds"> /// The organization ids. /// </param> /// <returns> /// The <see cref="IQueryable"/>. /// </returns> public static IQueryable <Requisition> AllRequisitionsPendingApproval( this IQueryingContext context, List <int> organizationIds) { return (context.AllRequisitions(organizationIds) .Where(r => PendingApprovalRequisitionStatuses.Contains(r.RequisitionStatusId))); }
/// <summary> /// The all requisitions. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="organizationIds"> /// The organization ids. /// </param> /// <returns> /// The <see cref="IQueryable"/>. /// </returns> /// <exception cref="ArgumentException"> /// If organization id is not provided. /// </exception> public static IQueryable <Requisition> AllRequisitions( this IQueryingContext context, List <int> organizationIds) { if (organizationIds == null || organizationIds.Count == 0) { throw new ArgumentException("At least one organization id must be provided", nameof(organizationIds)); } return(context.Requisitions.Where(r => !r.IsSowRequisition && organizationIds.Contains(r.OrganizationId))); }
/// <summary> /// The all active requisitions. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="organizationIds"> /// The organization Ids. /// </param> /// <returns> /// The <see cref="IQueryable"/>. /// </returns> public static IQueryable <Requisition> AllActiveRequisitions( this IQueryingContext context, List <int> organizationIds) { return (context.AllRequisitions(organizationIds) .Where( r => organizationIds.Contains(r.OrganizationId) && (ActiveRequisitionStatuses.Contains(r.RequisitionStatusId) || (r.RequisitionStatusId == (int)RequisitionStatus.PendingApproval && context.OrganizationDetails.Any( o => o.OrganizationId == r.OrganizationId && !o.IsApprovalRequiredBeforeRequisitionDistribution))))); }
/// <summary> /// The all requisitions pending user approval. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="userId"> /// The user id. /// </param> /// <param name="organizationIds"> /// The organization ids. /// </param> /// <returns> /// The <see cref="IQueryable"/>. /// </returns> public static IQueryable <Requisition> AllRequisitionsPendingUserApproval( this IQueryingContext context, int userId, List <int> organizationIds) { if (userId <= 0) { throw new ArgumentException("User Id must be greater than zero", nameof(userId)); } return (context.AllRequisitionsPendingApproval(organizationIds) .Where( r => context.RequisitionNextApprovers.Any( rna => rna.RequisitionId == r.Id && (rna.ApproverUserId == userId || rna.AlternateApproverUserId == userId)))); }
/// <summary> /// The all draft requisitions. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="organizationIds"> /// The organization ids. /// </param> /// <returns> /// The <see cref="IQueryable"/>. /// </returns> public static IQueryable <Requisition> AllDraftRequisitions( this IQueryingContext context, List <int> organizationIds) { return(context.AllRequisitions(organizationIds).Where(r => r.RequisitionStatusId == (int)RequisitionStatus.Draft)); }