Ejemplo n.º 1
0
        public async Task <bool> SetOrderMoreOrder(int id)
        {
            var result = false;

            var checkProcessStatusExist = await _placedOrderProcessStatusBusiness.CheckProcessStatusExist(_authenticationDto.RestaurantId,
                                                                                                          _authenticationDto.BranchId, id, (int)EOrderProcess.AddMoreOrder);

            if (!checkProcessStatusExist)
            {
                var processStatus = new PlacedOrderProcessStatus()
                {
                    RestaurantId   = _authenticationDto.RestaurantId,
                    BranchId       = _authenticationDto.BranchId,
                    PlacedOrderId  = id,
                    OrderProcessId = (int)EOrderProcess.AddMoreOrder,
                    Status         = 1,
                    CreatedStaffId = _authenticationDto.UserId,
                    CreatedDate    = DateTime.Now
                };
                var lastProcessStatus = await _placedOrderProcessStatusBusiness.Add(processStatus);

                if (lastProcessStatus != null)
                {
                    result = true;
                }
            }
            return(result);
        }
        public async Task <PlacedOrderDetail> SetFinishOrderDetail(int id, int isFinish)
        {
            //if current user is Restaurant Admin, don't let them update order detail
            // because when update price will be wrong
            if (_authenticationDto.TypeId == (int)EAccountType.Admin || _authenticationDto.TypeId == (int)EAccountType.Mod ||
                _authenticationDto.TypeId == (int)EAccountType.RestaurantAdmin)
            {
                return(null);
            }

            var result = await _placedOrderDetailBusiness.SetFinishOrderDetail(_authenticationDto.RestaurantId, _authenticationDto.BranchId,
                                                                               id, isFinish);

            if (result != null)
            {
                var checkProcessStatusExist = await _placedOrderProcessStatusBusiness.CheckProcessStatusExist(_authenticationDto.RestaurantId,
                                                                                                              _authenticationDto.BranchId, result.PlacedOrderId, (int)EOrderProcess.PreparingOrder);

                if (!checkProcessStatusExist)
                {
                    var processStatus = new PlacedOrderProcessStatus()
                    {
                        RestaurantId   = result.RestaurantId,
                        BranchId       = result.BranchId,
                        PlacedOrderId  = result.PlacedOrderId,
                        OrderProcessId = (int)EOrderProcess.PreparingOrder,
                        Status         = 1,
                        CreatedStaffId = _authenticationDto.UserId,
                        CreatedDate    = DateTime.Now
                    };
                    var lastProcessStatus = await _placedOrderProcessStatusBusiness.Add(processStatus);
                }
            }

            return(result);
        }