public async Task <JsonResult> GetMenuInfos() { var t1 = new HotelManager(CurrHotel.ConnectionString).GetFormatedMenuClasses(); var t2 = new HotelManager(CurrHotel.ConnectionString).GetFormatedMenus(); var t3 = new HotelManager(CurrHotel.ConnectionString).GetFormatedMenuOnSales(); var t4 = new HotelManager(CurrHotel.ConnectionString).GetFormatedMenuSetMeals(); var t5 = new HotelManager(CurrHotel.ConnectionString).GetFormatedPayKinds(new List <PayKindType> { PayKindType.Online, PayKindType.Other }); var t6 = new HotelManager(CurrHotel.ConnectionString).GetHotelConfig(); var t7 = new HotelManager(CurrHotel.ConnectionString).GetTimeDiscounts(); var t8 = new HotelManager(CurrHotel.ConnectionString).GetVipDiscounts(); var currHotel = await new YummyOnlineManager().GetHotelById(CurrHotel.Id); var result = new { MenuClasses = await t1, Menus = await t2, MenuOnSales = await t3, MenuSetMeals = await t4, PayKinds = await t5, DiscountMethods = new { TimeDiscounts = await t7, VipDiscounts = await t8 }, Hotel = DynamicsCombination.CombineDynamics(await t6, new { currHotel.Name, currHotel.Address, currHotel.Tel, currHotel.OpenTime, currHotel.CloseTime }) }; return(Json(result)); }
public async Task <JsonResult> GetHotelConfig() { return(Json(DynamicsCombination.CombineDynamics(await HotelManager.GetHotelConfig(), new { CurrHotel.Name, CurrHotel.Address, CurrHotel.Tel, CurrHotel.OpenTime, CurrHotel.CloseTime }))); }
public async Task <dynamic> GetUsers(Role role, int countPerPage = 0, int currPage = 0, bool withDineCount = false) { IQueryable <UserRole> linq = ctx.UserRoles.Where(p => p.Role == role).OrderByDescending(p => p.UserId); if (countPerPage != 0) { linq = linq.Skip(countPerPage * (currPage - 1)).Take(countPerPage); } var users = await linq.Select(p => new { p.User.Id, p.User.CreateDate, p.User.UserName, p.User.PhoneNumber, p.User.Email, }).ToListAsync(); if (!withDineCount) { return(users); } Dictionary <string, int> userDineCounts = new Dictionary <string, int>(); List <Hotel> hotels = await GetHotels(); foreach (var h in hotels) { HotelManager hotelManager = new HotelManager(h.ConnectionString); foreach (var user in users) { if (!userDineCounts.ContainsKey(user.Id)) { userDineCounts[user.Id] = await hotelManager.GetDineCount(user.Id); } else { userDineCounts[user.Id] += await hotelManager.GetDineCount(user.Id); } } } List <dynamic> userWithDineCounts = new List <dynamic>(); foreach (var user in users) { userWithDineCounts.Add(DynamicsCombination.CombineDynamics(user, new { DineCount = userDineCounts[user.Id] })); } return(userWithDineCounts); }
public async Task <JsonResult> GetMenuInfos() { string connStr = CurrHotel.ConnectionString; var tMenuClasses = new HotelManager(connStr).GetFormatedMenuClasses(); var tMenus = new HotelManager(connStr).GetFormatedMenus(); var tMenuOnSales = new HotelManager(connStr).GetFormatedMenuOnSales(); var tMenuSetMeals = new HotelManager(connStr).GetFormatedMenuSetMeals(); var tHotel = new HotelManager(connStr).GetHotelConfig(); var tTimeDiscounts = new HotelManager(connStr).GetTimeDiscounts(); var tVipDiscounts = new HotelManager(connStr).GetVipDiscounts(); var tPayKind = new HotelManager(connStr).GetOtherPayKind(); var tDesks = new HotelManager(connStr).GetDesks(); var result = new { MenuClasses = await tMenuClasses, Menus = await tMenus, MenuOnSales = await tMenuOnSales, MenuSetMeals = await tMenuSetMeals, DiscountMethods = new { TimeDiscounts = await tTimeDiscounts, VipDiscounts = await tVipDiscounts }, Hotel = DynamicsCombination.CombineDynamics(await tHotel, new { CurrHotel.Name, CurrHotel.Address, CurrHotel.Tel, CurrHotel.OpenTime, CurrHotel.CloseTime }), Desks = await tDesks, PayKind = await tPayKind, }; return(Json(result)); }