コード例 #1
0
        public async Task <BaseResponse <IList <WorkTimeSheetViewModel> > > GetAllAvailableTime()
        {
            BaseResponse <IList <WorkTimeSheetViewModel> > response = new BaseResponse <IList <WorkTimeSheetViewModel> >();

            try
            {
                var dbData = await _workTimeSheetRepository.Get();

                if (dbData == null)
                {
                    response.SetError(ErrorMessage.DatabaseEmpty);
                    return(response);
                }

                response.Data = MapToViewModel(dbData);
            }
            catch (TimeoutException)
            {
                response.SetError(ErrorMessage.TimeoutError);
            }
            catch (Exception ex)
            {
                response.SetError(ex);
            }

            return(response);
        }
コード例 #2
0
        public async Task <BaseResponse <List <MenuCategoryViewModel> > > GetMenuInTime()
        {
            var result = new BaseResponse <List <MenuCategoryViewModel> >();

            try
            {
                var workTimeSheet = await _workTimeSheetRepository.Get();

                if (!CheckIsAvaiableResturant(workTimeSheet))
                {
                    result.SetError(ErrorMessage.RestaurantClosedToday);
                    return(result);
                }

                MealType?MealType = DateTime.Now.GetMealType(workTimeSheet);
                if (MealType == null)
                {
                    result.SetError(ErrorMessage.OutOfService);
                    return(result);
                }

                Day dayOfWeek = DateTime.Now.GetDay();

                var dbData = await _dishRepository.GetMenuInTime(MealType.Value, dayOfWeek);

                if (!dbData.Any())
                {
                    result.SetError(ErrorMessage.NoMenuAtThisTime);
                }
                else
                {
                    result.Data = new List <MenuCategoryViewModel>();
                    result.Data = MapToViewModel(dbData);
                }
            }
            catch (TimeoutException)
            {
                result.SetError(ErrorMessage.TimeoutError);
            }
            catch (Exception ex)
            {
                result.SetError(ex);
            }


            return(result);
        }