public IEnumerable <AppliedPromotion> GetAll(string query, int storeId, int promotionId, string ids, int startId) { //initialize a list IEnumerable <AppliedPromotion> list = _repo.GetAll(); //case has query if (query.Length > 0) { //validate if (query.Contains("start-id=")) { if (!util.ValidIntParam(query, "start-id=", startId)) { return(null); } } if (query.Contains("ids=")) { if (!util.ValidIntParams(query, "ids=", ids)) { return(null); } } if (query.Contains("store-id=")) { if (!util.ValidIntParam(query, "store-id=", storeId)) { return(null); } } if (query.Contains("prmotion-id=")) { if (!util.ValidIntParam(query, "promotion-id=", promotionId)) { return(null); } } //page only involve with limit and fields //not filter changing list item if (query.Contains("page=") && (query.Contains("store-id=") || query.Contains("promotion-id=") || query.Contains("ids=") || query.Contains("start-id="))) { return(null); } //case param if (!query.Contains("&")) { //name if (query.Contains("store-id=")) { return(list.Where(e => e.StoreId == storeId)); } //address if (query.Contains("promotion-id=")) { return(list.Where(e => e.PromotionId == promotionId)); } //ids if (query.Contains("ids=")) { return(list.Where(e => ids.Contains(e.Id.ToString()))); } //startId if (query.Contains("start-id=")) { return(list.Where(e => e.Id >= startId)); } } //case params if (query.Contains("&")) { //case params: name, address if (query.Contains("store-id=") & query.Contains("promotion-id=")) { return(list.Where(e => e.StoreId == storeId && e.PromotionId == promotionId)); } } return(null); } // end if uri has query //case uri has no query return(list); }
public IEnumerable <ClaimedVoucher> GetAll(string query, int userId, int voucherId, string ids, int startId, DateTime claimedDate, DateTime expiredDate) { //initialize a list IEnumerable <ClaimedVoucher> list = _claimedRepo.GetAll(); //case has query if (query.Length > 0) { //validate if (query.Contains("user-id=")) { if (!util.ValidIntParam(query, "user-id=", userId)) { return(null); } } if (query.Contains("voucher-id=")) { if (!util.ValidIntParam(query, "voucher-id=", voucherId)) { return(null); } } if (query.Contains("start-id=")) { if (!util.ValidIntParam(query, "id=", startId)) { return(null); } } if (query.Contains("ids=")) { if (!util.ValidIntParams(query, "ids=", ids)) { return(null); } } if (query.Contains("claimed-date=")) { if (!util.ValidDateTimeParam(query, "claimed-date=", claimedDate)) { return(null); } } if (query.Contains("expired-date=")) { if (!util.ValidDateTimeParam(query, "expired-date=", expiredDate)) { return(null); } } //id, ids must not in a uri if (query.Contains("user-id=") && query.Contains("ids=")) { return(null); } //page only involve with limit and fields //not filter changing list item if (query.Contains("page=") && (query.Contains("user-id=") || query.Contains("ids=") || query.Contains("start-id="))) { return(null); } //query must have both begin-date and expired-date if (query.Contains("claimed-date=") && !query.Contains("expired-date=") || !query.Contains("claimed-date=") && query.Contains("expired-date=")) { return(null); } //begin-date must less than expired-date if (claimedDate.CompareTo(expiredDate) == 1) { return(null); } //case param if (!query.Contains("&")) { //user-id if (query.Contains("user-id=")) { return(list.Where(e => e.UserId == userId)); } //voucher-id if (query.Contains("voucher-id=")) { return(list.Where(e => e.VoucherId == voucherId)); } //ids if (query.Contains("ids=")) { return(list.Where(e => ids.Contains(e.Id.ToString()))); } //startId if (query.Contains("start-id=")) { return(list.Where(e => e.Id >= startId)); } } //case params if (query.Contains("&")) { //case params: name, address if (query.Contains("claimed-date=") & query.Contains("expired-date=")) { return(list.Where(e => e.ClaimedDate.CompareTo(claimedDate) == 1 && e.ExpiredDate.CompareTo(expiredDate) == -1)); } } return(null); } // end if uri has query //case uri has no query return(list); }
public IEnumerable <Store> GetAll(string query, int brandId, string name, string address, string ids, int startId) { //initialize a list IEnumerable <Store> list = _repo.GetAll(); //case has query if (query.Length > 0) { //validate if (query.Contains("brand-id=")) { if (!util.ValidIntParam(query, "brand-id=", brandId)) { return(null); } } if (query.Contains("start-id=")) { if (!util.ValidIntParam(query, "id=", startId)) { return(null); } } if (query.Contains("ids=")) { if (!util.ValidIntParams(query, "ids=", ids)) { return(null); } } if (query.Contains("name=")) { if (!util.ValidStringParam(query, "name=", name)) { return(null); } } if (query.Contains("address=")) { if (!util.ValidStringParam(query, "address=", address)) { return(null); } } //id, ids must not in a uri if (query.Contains("brand-id=") && query.Contains("ids=")) { return(null); } //page only involve with limit and fields //not filter changing list item if (query.Contains("page=") && (query.Contains("brand-id=") || query.Contains("name=") || query.Contains("address=") || query.Contains("ids=") || query.Contains("start-id="))) { return(null); } //case param if (!query.Contains("&")) { //id if (query.Contains("brand-id=")) { return(list.Where(store => store.BrandId == brandId)); } //name if (query.Contains("name=")) { return(list.Where(store => store.Name.Equals(name))); } //address if (query.Contains("address=")) { return(list.Where(store => store.Address.Equals(address))); } //ids if (query.Contains("ids=")) { return(list.Where(store => ids.Contains(store.Id.ToString()))); } //startId if (query.Contains("start-id=")) { return(list.Where(store => store.Id >= startId)); } } //case params if (query.Contains("&")) { //case params: name, address if (query.Contains("name=") & query.Contains("address=")) { return(list.Where(store => store.Name.Equals(name) && store.Address.Equals(address))); } //case params: id, address if (query.Contains("brand-id=") && query.Contains("address=")) { return(list.Where(store => store.BrandId == brandId && store.Address.Equals(address))); } //case params: id, name if (query.Contains("brand-id=") && query.Contains("name=")) { return(list.Where(store => store.BrandId == brandId && store.Name.Equals(name))); } //case params: id, name, address if (query.Contains("brand-id=") && query.Contains("name=") && query.Contains("address=")) { return(list.Where(store => store.BrandId == brandId && store.Name.Equals(name) && store.Address.Equals(address))); } } return(null); } // end if uri has query //case uri has no query return(list); }
public IEnumerable <User> GetAll(string query, string name, string address, string ids, int startId) { //initialize a list IEnumerable <User> list = _userRepo.GetAll(); //case has query if (query.Length > 0) { //validate if (query.Contains("start-id=")) { if (!util.ValidIntParam(query, "start-id=", startId)) { return(null); } } if (query.Contains("ids=")) { if (!util.ValidIntParams(query, "ids=", ids)) { return(null); } } if (query.Contains("name=")) { if (!util.ValidStringParam(query, "name=", name)) { return(null); } } if (query.Contains("address=")) { if (!util.ValidStringParam(query, "address=", address)) { return(null); } } //case param if (!query.Contains("&")) { //name if (query.Contains("name=")) { return(list.Where(brand => brand.Name.Equals(name))); } //address if (query.Contains("address=")) { return(list.Where(brand => brand.Address.Equals(address))); } //ids if (query.Contains("ids=")) { return(list.Where(brand => ids.Contains(brand.Id.ToString()))); } //startId if (query.Contains("start-id=")) { return(list.Where(brand => brand.Id >= startId)); } } //case params if (query.Contains("&")) { //case params: name, address if (query.Contains("name=") & query.Contains("address=")) { return(list.Where(brand => brand.Name.Equals(name) && brand.Address.Equals(address))); } } return(null); } // end if uri has query //case uri has no query return(list); }
public IEnumerable <Brand> GetAll(string query, string name, string address, string ids, int startId) { //initialize a list IEnumerable <Brand> list = _repo.GetAll(); //case has query if (query.Length > 0) { //validate if (query.Contains("start-id=")) { if (!util.ValidIntParam(query, "start-id=", startId)) { return(null); } } if (query.Contains("ids=")) { if (!util.ValidIntParams(query, "ids=", ids)) { return(null); } } if (query.Contains("name=")) { if (!util.ValidStringParam(query, "name=", name)) { return(null); } } if (query.Contains("address=")) { if (!util.ValidStringParam(query, "address=", address)) { return(null); } } //page only involve with limit and fields //not filter changing list item if (query.Contains("page=") && (query.Contains("name=") || query.Contains("address=") || query.Contains("ids=") || query.Contains("start-id="))) { return(null); } //case param if (!query.Contains("&")) { //name if (query.Contains("name=")) { return(list.Where(brand => brand.Name.ToLower().Equals(name.Trim().ToLower()))); } //address if (query.Contains("address=")) { return(list.Where(brand => brand.Address.Equals(address))); } //ids if (query.Contains("ids=")) { return(list.Where(brand => ids.Contains(brand.Id.ToString()))); } //startId if (query.Contains("start-id=")) { return(list.Where(brand => brand.Id >= startId)); } //limit must be last if (query.Contains("limit=")) { return(list); } } //case params if (query.Contains("&")) { //case params: name, address if (query.Contains("name=") & query.Contains("address=")) { return(list.Where(brand => brand.Name.Equals(name) && brand.Address.Equals(address))); } } return(null); } // end if uri has query //case uri has no query return(list); }
public IEnumerable <Promotion> GetAll(string query, int brandId, string ids, int startId, DateTime beginDate, DateTime expiredDate) { //initialize a list IEnumerable <Promotion> list = _proRepo.GetAll(); //case has query if (query.Length > 0) { //validate if (query.Contains("brand-id=")) { if (!util.ValidIntParam(query, "brand-id=", brandId)) { return(null); } } if (query.Contains("start-id=")) { if (!util.ValidIntParam(query, "id=", startId)) { return(null); } } if (query.Contains("ids=")) { if (!util.ValidIntParams(query, "ids=", ids)) { return(null); } } if (query.Contains("begin-date=")) { if (!util.ValidDateTimeParam(query, "begin-date=", beginDate)) { return(null); } } if (query.Contains("expired-date=")) { if (!util.ValidDateTimeParam(query, "expired-date=", expiredDate)) { return(null); } } //id, ids must not in a uri if (query.Contains("brand-id=") && query.Contains("ids=")) { return(null); } //page only involve with limit and fields //not filter changing list item if (query.Contains("page=") && (query.Contains("brand-id=") || query.Contains("ids=") || query.Contains("start-id="))) { return(null); } //query must have both begin-date and expired-date if (query.Contains("begin-date=") && !query.Contains("expired-date=") || !query.Contains("begin-date=") && query.Contains("expired-date=")) { return(null); } //begin-date must less than expired-date if (beginDate.CompareTo(expiredDate) == 1) { return(null); } //case param if (!query.Contains("&")) { //id if (query.Contains("brand-id=")) { return(list.Where(e => e.BrandId == brandId)); } //ids if (query.Contains("ids=")) { return(list.Where(e => ids.Contains(e.Id.ToString()))); } //startId if (query.Contains("start-id=")) { return(list.Where(e => e.Id >= startId)); } //limit must be last if (query.Contains("limit=")) { return(list); } } //case params if (query.Contains("&")) { //case params: name, address if (query.Contains("begin-date=") & query.Contains("expired-date=")) { return(list.Where(e => e.BeginDate.CompareTo(beginDate) == 1 && e.ExpiredDate.CompareTo(expiredDate) == -1)); } } return(null); } // end if uri has query //case uri has no query return(list); }