Example #1
0
        public ActionResult GetRestaurants(RestaurantSearchDTO req)
        {
            int total = 0;
            var list  = RestaurantRepository.GetList(out total, req);

            return(Json(new { rows = list, total = total }, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        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));
        }
Example #3
0
        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);
            }
        }