public async Task <IHttpActionResult> GetSchool(int pageSize, int page, string order, bool isAsc) { PageResult <Diploma> result = new PageResult <Diploma>(); IOrderedQueryable <Diploma> services = db.Diplomas; var count = services.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(services, order, "asc") : LinqOrder.DataSort(services, order, "desc"); //schools = isAsc ? schools.OrderBy(order):schools.OrderByDescending(order); result.Data = await schs.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> GetCampus(int pageSize, int page, string order, bool isAsc) { PageResult <Campus> result = new PageResult <Campus>(); var campus = db.Campuses; var count = campus.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(campus, order, "asc") : LinqOrder.DataSort(campus, order, "desc"); //districts = isAsc ? districts.OrderBy(order):districts.OrderByDescending(order); result.Data = await schs.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> GetRoles(int pageSize, int page, string order, bool isAsc) { PageResult <ApplicationRole> result = new PageResult <ApplicationRole>(); var users = db.Roles; var count = users.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(users, order, "asc") : LinqOrder.DataSort(users, order, "desc"); //schools = isAsc ? schools.OrderBy(order):schools.OrderByDescending(order); result.Data = await schs.Skip((page - 1) *pageSize).Take(pageSize).Select(u => new ApplicationRole() { Description = u.Description, Id = u.Id, Label = u.Label, Name = u.Name }).ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> GetCampus(int pageSize, int page, string order, bool isAsc) { PageResult <SpotView> result = new PageResult <SpotView>(); var campus = db.Spots.Select(s => new SpotView() { CampusID = s.CampusID, CreateDate = s.CreateDate, DistrictID = s.Campus.DistrictID, Id = s.Id, SpotAddress = s.SpotAddress, SpotName = s.SpotName, SpotState = s.SpotState }); var count = campus.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(campus, order, "asc") : LinqOrder.DataSort(campus, order, "desc"); //districts = isAsc ? districts.OrderBy(order):districts.OrderByDescending(order); result.Data = await schs.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> GetPosts(int level, int id, int pageSize, int page, string order, bool isAsc) { PageResult <Post> result = new PageResult <Post>(); var posts = level == -1 ? db.Posts : level == 0 ? db.Posts.Where(p => p.DistrictId == id) : level == 1 ? db.Posts.Where(p => p.CampusId == id) : db.Posts.Where(p => p.SpotId == id); //posts = posts // .Select(s => new Post() //{ // CampusId=s.CampusId, // CreaterId=s.CreaterId, // Id=s.Id, // CreateTime=s.CreateTime, // DistrictId=s.DistrictId, // SpotId=s.SpotId, // RoleId=s.RoleId, // State=s.State, // SupperId=s.SupperId, // UserId=s.UserId, // PostName=s.PostName //}); var count = posts.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(posts, order, "asc") : LinqOrder.DataSort(posts, order, "desc"); //districts = isAsc ? districts.OrderBy(order):districts.OrderByDescending(order); var data = await schs.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); foreach (var p in data) { p.PostUsers = db.PostUsers.Where(po => po.PostId == p.Id).ToList(); foreach (var pu in p.PostUsers) { pu.Post = null; pu.User = null; } } result.Data = data; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
/// <summary> /// 根据筛选器筛选学生 /// </summary> /// <param name="filter"></param> /// <returns></returns> public async Task <ViewModels.PageResult <Student> > GetStudentsByFilter(FilterIds filter, string key, int pageSize, int page, string order, bool asc) { ViewModels.PageResult <Student> result = new ViewModels.PageResult <Student>(); var students = db.Students.Include(s => s.Signer); if (key == "" || key == null) { students = students.Where(s => filter.postIds.Contains(s.Signer.PostId)); } else { students = students.Where(s => s.IdCardNO == key || s.Name == key || s.QQ == key || s.MobilePhoneNO == key); } if (students.Count() == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = asc; return(result); } if (filter.gradeIds.Count > 0) { students = students.Where(s => filter.gradeIds.Contains(s.Grade)); } if (filter.introIds.Count > 0) { students = students.Where(s => filter.introIds.Contains(s.Signer.UserId)); } if (filter.majorIds.Count > 0) { students = students.Where(s => filter.majorIds.Contains((int)s.Major)); } if (filter.eduIds.Count > 0) { students = students.Where(s => filter.eduIds.Contains((int)s.Education)); } if (filter.schoolIds.Count > 0) { students = students.Where(s => filter.schoolIds.Contains(s.SchoolID)); } result.Count = students.Count(); var stu = asc ? LinqOrder.DataSort(students, order, "asc") : LinqOrder.DataSort(students, order, "desc"); result.Data = await stu.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = asc; result.PageSize = pageSize; return(result); }
public async Task <IHttpActionResult> GetDetailsByDate(int postid, string startDate, string endDate, string productIds, string key, int pageSize, int page, string order, bool isAsc) { PageResult <OrderDetailVM> result = new PageResult <OrderDetailVM>(); int[] prdIds = Newtonsoft.Json.JsonConvert.DeserializeObject <int[]>(productIds); DateTime sdate = Convert.ToDateTime(startDate.Replace("\"", "")).Date; DateTime edate = Convert.ToDateTime(endDate.Replace("\"", "")); var idlist = postmanager.GetSons(postid).Select(p => p.Id).ToList(); key = key == "null" ? null : key; var details = db.OrderDetails.Include(od => od.Order.postUser.User) .Include(od => od.Product) .Include(od => od.Order.Student.School) .Where(od => idlist.Contains(od.Order.postUser.PostId)) .Where(od => (key == "" || key == null) ? od.Order.OrderDate >= sdate:true) .Where(od => (key == "" || key == null) ? od.Order.OrderDate <= edate:true) .Where(od => (key == "" || key == null) ? prdIds.Contains(od.ProductId):true) .Where(od => (key == "" || key == null) ? true : (od.Order.Student.Name.IndexOf(key) > -1 || od.Order.Student.MobilePhoneNO.IndexOf(key) > -1)); var count = details.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var ord = isAsc ? LinqOrder.DataSort(details, order, "asc") : LinqOrder.DataSort(details, order, "desc"); var data = await ord.Skip((page - 1) *pageSize).Take(pageSize).Select(od => new OrderDetailVM() { Id = od.Id, ProductName = od.Product.ProductName, SellerName = od.Order.postUser.User.Name, StudentName = od.Order.Student.Name, SchoolName = od.Order.Student.School.SchoolName, ActualPay = od.ActualPay, Discount = od.Discount, Debt = od.Debt, Date = od.Order.OrderDate }).ToListAsync(); result.Data = data; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); }
public async Task <IHttpActionResult> GetProducts(int level, int id, int pageSize, int page, string order, bool isAsc) { PageResult <ProductVM> result = new PageResult <ProductVM>(); var products = level == -1 ? db.Products : level == 0 ? db.Products.Where(p => p.Subject.CategoryId == id) : db.Products.Where(p => p.SubjectId == id); products = products.Include(p => p.Services).Include(p => p.Coupons); var count = products.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var ord = isAsc ? LinqOrder.DataSort(products, order, "asc") : LinqOrder.DataSort(products, order, "desc"); var data = await ord.Skip((page - 1) *pageSize).Take(pageSize).Select(p => new ProductVM() { Id = p.Id, IsDiscountForOld = p.IsDiscountForOld, IsPackage = p.IsPackage, OverDate = p.OverDate, PackageIdList = p.PackageIdList, Price = p.Price, ProductName = p.ProductName, SaleCount = p.SaleCount, Sort = p.Sort, State = p.State, SubjectId = p.SubjectId, DiscountValue = p.DiscountValue, Desc = p.Desc, CoverImg = p.CoverImg, CreateDate = p.CreateDate, AccordIdList = p.AccordIdList, couponIds = p.Coupons.Where(c => c.Coupon.State).Select(c => c.CouponId).ToList(), serviceIds = p.Services.Select(s => s.ServiceId).ToList() }).ToListAsync(); result.Data = data; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> getByPage(int campusid, int productid, int pageSize, int page, string order, bool isAsc) { PageResult <ClassVM> result = new PageResult <ClassVM>(); var classes = db.Classes.Include(c => c.Charger.User).Include(c => c.Enrollments).Include(c => c.Product).Where(c => c.CampusId == campusid); classes = productid == 0 ? classes : classes.Where(c => c.ProductID == productid); var count = classes.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(classes, order, "asc") : LinqOrder.DataSort(classes, order, "desc"); //districts = isAsc ? districts.OrderBy(order):districts.OrderByDescending(order); result.Data = await schs.Skip((page - 1) *pageSize).Take(pageSize) .Select(c => new ClassVM() { Id = c.Id, Arrange = c.Arrange, ChargerID = c.ChargerID, chargerName = c.Charger.User.Name, ClassName = c.ClassName, ClassState = c.ClassState, OverDate = c.OverDate, ProductID = c.ProductID, ProductName = c.Product.ProductName, studentCount = c.StudentCount }) .ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> GetReceipt(bool state, string key, int pageSize, int page, string order, bool isAsc) { PageResult <CouponVM> result = new PageResult <CouponVM>(); List <CouponVM> data = new List <CouponVM>(); var coupon = db.Coupons.Include(o => o.Products).Include(o => o.Campuses).Where(c => c.State == state) .Where(o => (key == "" || key == null) ? true : o.CouponName.IndexOf(key) > -1 ); var rec = isAsc ? LinqOrder.DataSort(coupon, order, "asc") : LinqOrder.DataSort(coupon, order, "desc"); var count = rec.Select(o => o.Id).Count(); if (count == 0) { result.Count = 0; result.Data = null; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var list = await rec.Skip((page - 1) *pageSize).Take(pageSize).Select(o => new CouponVM() { CouponName = o.CouponName, Id = o.Id, OverDate = o.OverDate, Rule = o.Rule, StartDate = o.StartDate, State = o.State, Vlaue = o.Vlaue, campusIds = o.Campuses.Select(c => c.CampusID).ToList(), productIds = o.Products.Select(c => c.ProductId).ToList() }).ToListAsync(); result.Data = list; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); }
public async Task <IHttpActionResult> GetUsers(int pageSize, int page, string order, bool isAsc) { PageResult <UserView> result = new PageResult <UserView>(); var users = db.Users; var count = users.Count(); if (count == 0) { result.Data = null; result.Count = 0; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var schs = isAsc ? LinqOrder.DataSort(users, order, "asc") : LinqOrder.DataSort(users, order, "desc"); //schools = isAsc ? schools.OrderBy(order):schools.OrderByDescending(order); result.Data = await schs.Skip((page - 1) *pageSize).Take(pageSize).Select(u => new UserView() { Email = u.Email, Id = u.Id, Img = u.Img, IsUploaImg = u.IsUploaImg, Name = u.Name, PhoneNumber = u.PhoneNumber, UserName = u.UserName }).ToListAsync(); result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result));; }
public async Task <IHttpActionResult> GetReceipt(int postId, int state, string key, int pageSize, int page, string order, bool isAsc) { PostUser postUser = await db.PostUsers.FindAsync(postId); if (postUser == null) { return(NotFound()); } PostManager pm = new PostManager(); var postids = pm.GetPostUserIdsByPostCampus(postUser.PostId).Select(p => p.Id); PageResult <ReceiptVM> result = new PageResult <ReceiptVM>(); List <ReceiptVM> data = new List <ReceiptVM>(); var receipt = db.Receipts.Include(o => o.Compensations).Include(o => o.Orders).Where(o => postids.Contains(o.PostUser.PostId)) .Where(o => state < 0 ? true : (int)o.State == state) .Where(o => o.Compensations.Where(or => or.State == true).Count() > 0 || o.Orders.Where(or => or.State != OrderState.已删除).Count() > 0) .Where(o => (key == "" || key == null) ? true : o.PostUser.User.Name.IndexOf(key) > -1 ); var rec = isAsc ? LinqOrder.DataSort(receipt, order, "asc") : LinqOrder.DataSort(receipt, order, "desc"); var count = rec.Select(o => o.Id).Count(); if (count == 0) { result.Count = 0; result.Data = null; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var list = await rec.Skip((page - 1) *pageSize).Take(pageSize).Select(o => new ReceiptVM() { Id = o.Id, PostUserId = o.PostUserId, ConfirmerID = o.ConfirmerID, CreateTime = o.CreateTime, ConfirmTime = o.ConfirmTime, State = o.State, Value = 0, PosterName = o.PostUser.User.Name, CheckUserId = postId }).ToListAsync(); foreach (var r in list) { var ords = db.Orders.Where(o => o.ReceiptID == r.Id).Where(o => o.State != OrderState.已删除); //if (ords == null)//如果订单为空 说明是空单据 删除 //{ // list.Remove(r); // continue; //} if (ords.Count() > 0) { r.Value = r.Value + ords.Sum(o => o.OrderDetails.Sum(d => d.ActualPay)); } var coms = db.Compensations.Where(o => o.ReceiptID == r.Id); if (coms.Count() > 0) { r.Value = r.Value + coms.Sum(o => o.Value); } } result.Data = list; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); }
public async Task <IHttpActionResult> GetOrdersByPost(int postId, int state, string key, int pageSize, int page, string order, bool isAsc) { PageResult <OrderResult> result = new PageResult <OrderResult>(); List <OrderResult> data = new List <OrderResult>(); OrderResult ord = new OrderResult(); var orders = db.Orders.Include(o => o.Compensations).Where(o => o.PostUserId == postId) .Where(o => state < 0 ? true : (int)o.State == state) .Where(o => o.State != OrderState.已删除) .Where(o => (key == "" || key == null) ? true : (o.OrderNO.IndexOf(key) > -1 || o.TradeNO.IndexOf(key) > -1 || o.Student.Name.IndexOf(key) > -1) ); var count = orders.Select(o => o.Id).Count(); if (count == 0) { result.Count = 0; ord.orders = null; ord.statistic = null; data.Add(ord); result.Data = data; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } var os = isAsc ? LinqOrder.DataSort(orders, order, "asc") : LinqOrder.DataSort(orders, order, "desc"); result.Count = count; ord.orders = await os.Skip((page - 1) *pageSize).Take(pageSize).Select(o => new OrderAllInfoWithProductIds() { Id = o.Id, StudentID = o.StudentID, TradeNO = o.TradeNO, OrderNO = o.OrderNO, PostUserId = o.PostUserId, OrderDate = o.OrderDate, ReceiptID = o.ReceiptID, ActualPay = o.OrderDetails.Sum(d => d.ActualPay), State = o.State, PayDate = o.PayDate, Channel = o.Channel, IsDebt = o.IsDebt, IsOtherDiscount = o.IsOtherDiscount, Debt = o.OrderDetails.Sum(d => d.Debt), Remark = o.Remark, Student = o.Student, ProductIds = o.OrderDetails.Select(od => od.ProductId).ToList(), Compensations = o.Compensations.ToList(), HasCompensation = o.Compensations.Count() > 0 }).ToListAsync(); if (state == 1) { ord.statistic = await db.OrderDetails.Where(o => o.Order.PostUserId == postId) .Where(o => (int)o.Order.State == state) .GroupBy(o => o.Product.ProductName) .Select(g => new StatiticDataItem() { ProductName = g.Key, Count = g.Count(), Debt = g.Sum(o => o.Debt), Discount = g.Sum(o => o.Discount), Pay = g.Sum(o => o.ActualPay) }).ToListAsync(); } else { ord.statistic = null; } data.Add(ord); result.Data = data; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); }