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); }
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); }