public ActionResult GetRestaurants(RestaurantSearchDTO req) { int total = 0; var list = RestaurantRepository.GetList(out total, req); return(Json(new { rows = list, total = total }, JsonRequestBehavior.AllowGet)); }
public ActionResult GetRestaurants(RestaurantSearchDTO req) { if (req.ListType == 1) { req.offset = (req.offset - 1) * req.limit; } req.CompanyId = OperatorProvider.Provider.GetCurrent().CompanyId.ToInt(); var list = _restaurantRepository.GetList(out int total, req); return(Json(new { rows = list, total = total, code = 0, msg = "" }, JsonRequestBehavior.AllowGet)); }
public List <RestaurantListDTO> GetList(out int total, RestaurantSearchDTO req) { using (var db = new SqlSugarClient(Connection)) { int totalCount = 0; string order = string.Empty; List <RestaurantListDTO> list = new List <RestaurantListDTO>(); if (!string.IsNullOrEmpty(req.Sort)) { order = string.Format("{0} {1}", req.Sort, req.Order); } var data = db.Queryable <R_Restaurant>() .Select(@"R_Restaurant.Id,R_Restaurant.Name,R_Restaurant.Description, AreaNum=(select COUNT(0) from R_Area a where a.R_Restaurant_Id=R_Restaurant.id and a.IsDelete=0), BoxNum=(select count(0) from R_Box where IsDelete=0 and R_Area_Id in (select id from R_Area where IsDelete=0 and R_Restaurant_Id=R_Restaurant.Id)), TableNum=(select COUNT(0) from R_Table c where c.IsDelete=0 and c.R_Restaurant_Id=R_Restaurant.id), SeatNum=(select isnull(SUM(SeatNum),0) from R_Table d where d.IsDelete=0 and d.R_Restaurant_Id=R_Restaurant.id)") .Where(p => p.IsDelete == false && p.R_Company_Id == req.CompanyId).ToDataTable(); if (data != null && data.Rows.Count > 0) { DataView dtv = data.DefaultView; dtv.Sort = order; data = dtv.ToTable(); totalCount = data.Rows.Count; var rows = data.Rows.Cast <DataRow>(); var curRows = rows.Skip(req.offset).Take(req.limit).ToArray(); foreach (DataRow item in curRows) { list.Add(new RestaurantListDTO() { Id = Convert.ToInt32(item["id"]), Name = item["Name"].ToString(), Description = item["Description"].ToString(), AreaNum = Convert.ToInt32(item["AreaNum"]), BoxNum = Convert.ToInt32(item["BoxNum"]), TableNum = Convert.ToInt32(item["TableNum"]), SeatNum = Convert.ToInt32(item["SeatNum"]) }); } } total = totalCount; return(list); } }