IQueryable <BuySellDoc> getByDocumentType_For(string userId, IQueryable <BuySellDoc> iq_allOrders, BuySellDocumentTypeENUM buySellDocumentTypeEnum) { //userId.IsNullOrWhiteSpaceThrowArgumentException("You are not logged in."); switch (buySellDocumentTypeEnum) { case BuySellDocumentTypeENUM.Sale: { try { //all orders are returned because this is the admin //if (userId.IsNullOrWhiteSpace()) // return iq_allOrders; if (userId.IsNullOrWhiteSpace()) { return(BuySellDoc.IQueryable_GetSaleDocs(iq_allOrders, "")); } Owner owner = OwnerBiz.GetPlayerFor(userId); owner.IsNullThrowException("No Owner"); return(BuySellDoc.IQueryable_GetSaleDocs(iq_allOrders, owner.Id)); } catch (Exception e) { ErrorsGlobal.Add("Problem getting sales.", MethodBase.GetCurrentMethod(), e); throw new Exception(ErrorsGlobal.ToString()); } } case BuySellDocumentTypeENUM.Purchase: { try { //all orders are returned because this is the admin //if (userId.IsNullOrWhiteSpace()) // return iq_allOrders; if (userId.IsNullOrWhiteSpace()) { return(BuySellDoc.IQueryable_GetPurchaseDocs(iq_allOrders, "")); } Customer customer = CustomerBiz.GetPlayerFor(userId); customer.IsNullThrowException("Customer"); return(BuySellDoc.IQueryable_GetPurchaseDocs(iq_allOrders, customer.Id)); } catch (Exception e) { ErrorsGlobal.Add("Problem getting purchases", MethodBase.GetCurrentMethod(), e); throw new Exception(ErrorsGlobal.ToString()); } } case BuySellDocumentTypeENUM.Delivery: { try { //all orders are returned because this is the admin if (userId.IsNullOrWhiteSpace()) { return(BuySellDoc.IQueryable_GetDeliveryDocs(iq_allOrders, "")); } Deliveryman deliveryMan = DeliverymanBiz.GetPlayerFor(userId); deliveryMan.IsNullThrowException("deliveryMan"); return(BuySellDoc.IQueryable_GetDeliveryDocs(iq_allOrders, deliveryMan.Id)); } catch (Exception e) { ErrorsGlobal.Add("Problem getting purchases", MethodBase.GetCurrentMethod(), e); throw new Exception(ErrorsGlobal.ToString()); } } case BuySellDocumentTypeENUM.Salesman: { try { if (userId.IsNullOrWhiteSpace()) { return(BuySellDoc.IQueryable_GetSalesmanDocs(iq_allOrders, "")); } Salesman salesman = SalesmanBiz.GetPlayerFor(userId); salesman.IsNullThrowException("Salesman"); return(BuySellDoc.IQueryable_GetSalesmanDocs(iq_allOrders, salesman.Id)); } catch (Exception e) { ErrorsGlobal.Add("Problem getting purchases", MethodBase.GetCurrentMethod(), e); throw new Exception(ErrorsGlobal.ToString()); } } case BuySellDocumentTypeENUM.Unknown: default: throw new Exception("Unknown document type"); } }