コード例 #1
0
ファイル: FlatController.cs プロジェクト: OpuZm/NHRTest
        /// <summary>
        /// 获取餐厅和分市信息
        /// </summary>
        /// <returns></returns>
        public JsonResult GetRestaurants()
        {
            var res = new Response()
            {
                Data = null, Successed = false
            };

            if (ModelState.IsValid)
            {
                try
                {
                    var restaurants = _restaurantRepository.GetList();
                    var markets     = _marketRepository.GetList();
                    foreach (var item in restaurants)
                    {
                        item.MarketList = markets.Where(x => x.RestaurantId == item.Id).ToList();
                    }
                    res.Successed = true;
                    res.Data      = restaurants;
                }
                catch (Exception e)
                {
                    res.Message = e.Message;
                }
            }
            else
            {
                res.Message = string.Join(",", ModelState.SelectMany(ms => ms.Value.Errors).Select(e => e.ErrorMessage));
            }
            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ActionResult EditReserve(int orderId)
        {
            var currentUser = OperatorProvider.Provider.GetCurrent();
            var order       = _orderRepository.GetOrderModel(orderId);
            var markets     = _marketRep.GetList(order.R_Restaurant_Id);

            var tableList    = order.Tables;
            var ids          = tableList.Select(x => x.Id).ToList();
            var names        = tableList.Select(x => x.Name).ToArray().Join();
            var customerList = _oldCustRepository.GetListByStatus(null);

            ViewBag.CustomerList = customerList;

            //客源类型
            var customerSources = _extendItemRepository
                                  .GetModelList(currentUser.CompanyId.ToInt(), 10002);

            ViewBag.CustomerSources = customerSources;
            //订单类型
            var orderTypes = _extendItemRepository
                             .GetModelList(currentUser.CompanyId.ToInt(), 10001);

            ViewBag.OrderTypes = orderTypes;

            ViewBag.TableIds  = ids.Join(",");
            ViewBag.TableName = names;
            ViewBag.Markets   = markets;
            ViewBag.Order     = order;
            return(View());
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: OpuZm/NHRTest
        public ActionResult Reserve(int tableId)
        {
            var orderSources = OrderRepository.GetOrderSources();
            var table        = TableRepository.GetModel(tableId);
            var markets      = MarketRepository.GetList(table.Restaurant);

            ViewBag.OrderSources = orderSources;
            ViewBag.Table        = table;
            ViewBag.Markets      = markets;
            return(View());
        }
コード例 #4
0
        public ActionResult OpenTable(int Id)
        {
            var operatorUser    = OperatorProvider.Provider.GetCurrent();
            var customerSources = _extendItemRepository
                                  .GetModelList(operatorUser.CompanyId.ToInt(), 10002);
            //订单类型
            var orderTypes = _extendItemRepository
                             .GetModelList(operatorUser.CompanyId.ToInt(), 10001);

            ViewBag.OrderTypes = orderTypes;

            var table   = _tableRepository.GetModel(Id);
            var markets = _marketRepository.GetList(table.RestaurantId);

            if (markets.Where(x => x.IsDefault).Count() > 1)
            {
                int firstId = markets.Where(x => x.IsDefault).Select(x => x.Id).FirstOrDefault();
                markets.ForEach(x =>
                {
                    if (x.Id != firstId)
                    {
                        x.IsDefault = false;
                    }
                });
            }
            var sellerList = _orderRepository.GetDepartList();

            var customerList = _oldCustRepository.GetListByStatus(null);
            var areaList     = _areaRepository.GetList(operatorUser.DepartmentId.ToInt());

            var emptyTableList = _tableHandlerSers.GetTableList(
                new TableSearchDTO()
            {
                CythStatus   = CythStatus.空置,
                RestaurantId = operatorUser.DepartmentId.ToInt(),
                CompanyId    = operatorUser.CompanyId.ToInt(),
            });

            ViewBag.SellerList      = sellerList;
            ViewBag.TableList       = emptyTableList;
            ViewBag.CustomerList    = customerList;
            ViewBag.CustomerSources = customerSources;
            ViewBag.Table           = table;
            ViewBag.Markets         = markets;
            ViewBag.Areas           = areaList;
            ViewBag.UserName        = operatorUser.UserName;
            return(View());
        }
コード例 #5
0
        public ActionResult GetMarkets(MarketSearchDTO req)
        {
            int total = 0;
            var list  = MarketRepository.GetList(out total, req);

            return(Json(new { rows = list, total = total }, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
ファイル: ApiController.cs プロジェクト: OpuZm/NHRTest
        public ActionResult GetMarkets()
        {
            Response res = new Response();

            res.Data = MarketRepository.GetList();
            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
 /// <summary>
 /// 获取所有分市
 /// </summary>
 /// <returns></returns>
 public ActionResult GetMarkets()
 {
     //Response res = new Response();
     //res.Data = MarketRepository.GetList();
     //return Json(res, JsonRequestBehavior.AllowGet);
     return(NewtonSoftJson(new
     {
         Data = MarketRepository.GetList()
     }, JsonRequestBehavior.AllowGet));
 }
コード例 #8
0
        public ActionResult Reserve(int id = 0)
        {
            var currentUser            = OperatorProvider.Provider.GetCurrent();
            ReserveCreateDTO orderInfo = null;

            if (id > 0)
            {
                orderInfo = _orderRepository.GetOrderModel(id);
            }

            //客源类型
            var customerSources = _extendItemRepository
                                  .GetModelList(currentUser.CompanyId.ToInt(), 10002);

            ViewBag.CustomerSources = customerSources;

            //订单类型
            var orderTypes = _extendItemRepository
                             .GetModelList(currentUser.CompanyId.ToInt(), 10001);

            ViewBag.OrderTypes = orderTypes;

            var restaurantId = currentUser.DepartmentId.ToInt();
            var resModel     = _restaurantRepository.GetModel(restaurantId);

            var markets      = _marketRep.GetList(restaurantId);
            var customerList = _oldCustRepository.GetListByStatus(null);
            var areaList     = _areaRepository.GetList(currentUser.DepartmentId.ToInt());

            //var sellerResult = _oldUserRepository.GetAll<Smooth.IoC.UnitOfWork.ISession>();
            //var sellerList = AutoMapperExtend<CzdmModel, UserInfo>.ConvertToList(sellerResult, new List<UserInfo>());
            var sellerList = _orderRepository.GetDepartList();
            var sales      = _oldUserRepository.GetByUsersSql("ZZ");
            List <TableListDTO> conditionList = null;

            if (orderInfo != null)
            {
                conditionList = _tableRep.GetReseverChoseList(
                    new TableChoseSearchDTO()
                {
                    Market       = orderInfo.R_Market_Id,
                    RestaurantId = orderInfo.R_Restaurant_Id,
                    ReverDate    = (DateTime)orderInfo.ReserveDate
                });

                orderInfo.Tables.ForEach(
                    x =>
                {
                    conditionList.Add(new TableListDTO()
                    {
                        IsSelected   = true,
                        AreaId       = x.AreaId,
                        Name         = x.Name,
                        Id           = x.Id,
                        RestaurantId = x.RestaurantId,
                        Description  = x.Description
                    });
                });

                conditionList    = conditionList.OrderBy(x => x.Id).ToList();
                orderInfo.Tables = orderInfo.Tables.OrderBy(x => x.Id).ToList();

                markets.ForEach(
                    x =>
                {
                    x.IsDefault = false;
                    if (x.Id == orderInfo.R_Market_Id)
                    {
                        x.IsDefault = true;
                    }
                });
            }

            ViewBag.Markets      = markets;
            ViewBag.CustomerList = customerList;
            ViewBag.Restaurant   = resModel;

            var emptyTableList = _tableHandlerSers.GetTableList(
                new TableSearchDTO()
            {
                CythStatus   = CythStatus.空置,
                RestaurantId = currentUser.DepartmentId.ToInt(),
                CompanyId    = currentUser.CompanyId.ToInt(),
            });

            ViewBag.SearchTableList = conditionList;

            ViewBag.OrderInfo       = orderInfo;
            ViewBag.TableList       = emptyTableList;
            ViewBag.SellerList      = sellerList;
            ViewBag.CustomerSources = customerSources;
            ViewBag.restaurantId    = restaurantId;
            ViewBag.Areas           = areaList;
            ViewBag.UserName        = currentUser.UserName;
            ViewBag.LoginUserId     = currentUser.UserId;
            ViewBag.Sales           = sales;
            ViewBag.OrderTableIds   = orderInfo != null?string.Join(",", orderInfo.OrderTableIds) : "";

            return(View());
        }
コード例 #9
0
ファイル: OrderService.cs プロジェクト: OpuZm/NHRTest
        public ForecastInfoDTO ForecastSearch(ForecastSearchDTO req)
        {
            int days = (req.EndDate - req.BeginDate).Days + 1;

            ForecastInfoDTO infoObj = new ForecastInfoDTO();
            //分市
            var marketList  = _marketRep.GetList(req.Restaurant);
            int marketCount = marketList.Count;

            infoObj.MarketList = marketList;

            List <ForecastDateDTO> dateList = new List <ForecastDateDTO>();

            for (int i = 0; i < days; i++)
            {
                ForecastDateDTO dateDTO = new ForecastDateDTO();
                dateDTO.DayOfDate     = req.BeginDate.AddDays(i);
                dateDTO.DayOfWeekName = System.Globalization.CultureInfo.CurrentCulture
                                        .DateTimeFormat.GetDayName(req.BeginDate.AddDays(i).DayOfWeek);
                dateDTO.TitleDate = req.BeginDate.AddDays(i).ToString("MM-dd");

                dateList.Add(dateDTO);
            }
            infoObj.DateList = dateList;

            List <ForecastTableDTO> tableList = new List <ForecastTableDTO>();

            //台号
            var tables = _tableRep.GetTables(new int[] { req.Restaurant }, null, 0);
            //台号预定明细
            var reserveInfoList = _orderRep.GetForecastList(req);

            foreach (var item in tables)
            {
                ForecastTableDTO tableDTO = new ForecastTableDTO();
                tableDTO.TableId      = item.Id;
                tableDTO.TableName    = item.Name;
                tableDTO.RestaurantId = item.R_Restaurant_Id;
                var contentList = reserveInfoList.Where(x => x.TableId == item.Id).ToList();
                List <ForecastReserveInfoDTO> records = new List <ForecastReserveInfoDTO>();
                foreach (var date in dateList)
                {
                    var filteByDateList = contentList.Where(x => x.BookingDate == date.DayOfDate).ToList();
                    foreach (var market in marketList)
                    {
                        ForecastReserveInfoDTO info = new ForecastReserveInfoDTO();
                        if (filteByDateList != null && filteByDateList.Count > 0)
                        {
                            var obj = filteByDateList.Where(x => x.BookingDate == date.DayOfDate &&
                                                            x.MarketId == market.Id &&
                                                            x.TableId == item.Id).FirstOrDefault();
                            if (obj != null)
                            {
                                info = obj;
                            }
                        }
                        records.Add(info);
                    }
                }
                tableDTO.BookingList = records;
                tableList.Add(tableDTO);
            }
            infoObj.TableList = tableList;

            return(infoObj);
        }
コード例 #10
0
ファイル: MAccountController.cs プロジェクト: OpuZm/NHRTest
        public async Task <ActionResult> LoginIn(LoginInput req)
        {
            Response res = new Response();

            res.Successed = false;

            if (ModelState.IsValid)
            {
                try
                {
                    req.PassWord = string.IsNullOrEmpty(req.PassWord) ? "" : req.PassWord;
                    //var verifyCode = Session["opupms_session_verifycode"];
                    //if (verifyCode.IsEmpty() || DESEncrypt.MD5(req.Code.ToLower(), 16) != verifyCode.ToString())
                    //{
                    //    res.Data = false;
                    //    res.Message = "验证码错误,请重新输入";
                    //}
                    if (req.Account.IsEmpty())
                    {
                        res.Data    = false;
                        res.Message = "请输入用户名!";
                    }
                    else
                    {
                        var user = await _userService.CheckLogin(req.Account, req.PassWord);

                        if (user.State == LoginState.Successed)
                        {
                            OperatorModel mUser = new OperatorModel();
                            mUser.UserId    = user.UserId;
                            mUser.UserCode  = user.UserCode;
                            mUser.UserName  = user.UserName;
                            mUser.UserPwd   = user.UserPwd;
                            mUser.RoleId    = user.RoleId;
                            mUser.CompanyId = user.GroupCode;
                            //mUser.MinDiscountValue = user.Discount;
                            mUser.Permission = user.Permission;
                            mUser.LoginTime  = DateTime.Now;
                            //mUser.MaxClearValue = user.MaxClearValue;

                            List <RestaurantListDTO> list = new List <RestaurantListDTO>();
                            if (!string.IsNullOrEmpty(user.ManagerRestaurant))
                            {
                                mUser.ManagerRestaurant = new List <int>();
                                var sourceList = user.ManagerRestaurant.Split(';').ToList();
                                foreach (var str in sourceList)
                                {
                                    string id   = str.Substring(0, str.IndexOf('-'));
                                    string name = str.Substring(str.IndexOf('-') + 1);
                                    list.Add(new RestaurantListDTO()
                                    {
                                        Id   = id.ToInt(),
                                        Name = name
                                    });
                                    mUser.ManagerRestaurant.Add(id.ToInt());
                                }

                                var ids           = list.Select(x => x.Id).ToList();
                                var allMarkets    = _marketRepository.GetList(ids);
                                var selectMarkets = allMarkets.Where(x => ids.Contains(x.RestaurantId)).ToList();
                                foreach (var item in list)
                                {
                                    item.MarketList = selectMarkets.Where(x => x.RestaurantId == item.Id).ToList();
                                }
                            }

                            OperatorProvider.Provider.AddCurrent(mUser);
                            res.Data      = list;
                            res.Successed = true;
                        }
                        else
                        {
                            res.Data = false;
                            switch (user.State)
                            {
                            case LoginState.Failed:
                                break;

                            case LoginState.InvalidAccount:
                            case LoginState.InvalidPassword:
                                res.Message = "账号或密码错误,请重新输入";
                                break;

                            case LoginState.InvalidHotelCode:
                                break;

                            case LoginState.InvalidVerifyCode:
                                break;

                            case LoginState.ExpiredVerifyCode:
                                break;

                            case LoginState.NotActivated:
                                break;

                            case LoginState.NoPermission:
                                res.Message = "抱歉您无权限登录系统";
                                break;

                            default:
                                res.Message = "网络异常,请重新登录";
                                break;
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    res.Data    = false;
                    res.Message = e.Message;
                }
            }
            else
            {
                res.Data    = false;
                res.Message = string.Join(",", ModelState.SelectMany(ms => ms.Value.Errors).Select(e => e.ErrorMessage));
            }
            return(Json(res, JsonRequestBehavior.AllowGet));
        }