示例#1
0
        public IActionResult GetAll()
        {
            var restaurants = restaurantService.GetAll();
            var response    = new List <RestaurantResponseDTO>();

            if (restaurants == null || !restaurants.Any())
            {
                return(Ok(response));
            }

            foreach (var rest in restaurants)
            {
                var resp = new RestaurantResponseDTO
                {
                    ID          = rest.Id,
                    Name        = rest.Name,
                    Address     = rest.Address,
                    Description = rest.Description,
                    Latitude    = rest.Latitude,
                    Longitude   = rest.Longitude,
                    PhoneNumber = rest.PhoneNumber,
                    Priority    = rest.Priority,
                    DateCreated = rest.DateCreated,
                    DateUpdated = rest.DateUpdated,
                    Area        = rest.Area?.Name,
                    Category    = rest.RestaurantCategory?.Name
                };

                // get images
                if (rest.RestaurantImages != null && rest.RestaurantImages.Any())
                {
                    var images = new List <ImageResponseDTO>();
                    foreach (var img in rest.RestaurantImages)
                    {
                        images.Add(
                            new ImageResponseDTO
                        {
                            ID            = img.Id,
                            ImagePriority = img.ImagePriority,
                            ImageUrl      = img.ImageUrl
                        });
                    }
                    resp.Images = images;
                }

                // get working hours
                if (rest.WorkingHours != null && rest.WorkingHours.Any())
                {
                    var workingImages = new List <WorkingHourResponseDTO>();
                    foreach (var hour in rest.WorkingHours)
                    {
                        workingImages.Add(
                            new WorkingHourResponseDTO
                        {
                            ID       = hour.Id,
                            Day      = hour.Day,
                            FromTime = hour.FromTime,
                            ToTime   = hour.ToTime
                        });
                    }
                    resp.WorkingHours = workingImages;
                }

                response.Add(resp);
            }
            // var restaurantResponse = mapper.Map<List<RestaurantResponseDTO>>(restaurants);
            return(Ok(response));
        }
示例#2
0
        private RestaurantResponseDTO GetRestaurantResponse(Restaurant rest)
        {
            var resp = new RestaurantResponseDTO
            {
                ID                   = rest.Id,
                Name                 = rest.Name,
                Address              = rest.Address,
                Description          = rest.Description,
                Latitude             = rest.Latitude,
                Longitude            = rest.Longitude,
                PhoneNumber          = rest.PhoneNumber,
                Priority             = rest.Priority,
                DateCreated          = rest.DateCreated,
                DateUpdated          = rest.DateUpdated,
                Area                 = rest.Area?.Name,
                Category             = rest.RestaurantCategory?.Name,
                AreaId               = rest.AreaId == null ? 0 : rest.AreaId.Value,
                RestaurantCategoryId = rest.RestaurantCategoryId == null ? 0 : rest.RestaurantCategoryId.Value,
                Meals                = rest.Meals
            };

            // get images
            if (rest.RestaurantImages != null && rest.RestaurantImages.Any())
            {
                var images = new List <ImageResponseDTO>();
                foreach (var img in rest.RestaurantImages)
                {
                    images.Add(
                        new ImageResponseDTO
                    {
                        ID            = img.Id,
                        ImagePriority = img.ImagePriority,
                        ImageUrl      = img.ImageUrl
                    });
                }
                resp.Images = images;
            }

            // get working hours
            if (rest.WorkingHours != null && rest.WorkingHours.Any())
            {
                var workingImages = new List <WorkingHourResponseDTO>();
                foreach (var hour in rest.WorkingHours)
                {
                    workingImages.Add(
                        new WorkingHourResponseDTO
                    {
                        ID       = hour.Id,
                        Day      = hour.Day,
                        FromTime = hour.FromTime,
                        ToTime   = hour.ToTime
                    });
                }
                resp.WorkingHours = workingImages;
            }
            // get Meals
            if (rest.Meals != null && rest.Meals.Any())
            {
                var meals = new List <Meal>();
                foreach (var meal in rest.Meals)
                {
                    meals.Add(
                        new Meal
                    {
                        Id              = meal.Id,
                        DateCreated     = meal.DateCreated,
                        DateUpdated     = meal.DateUpdated,
                        ImageUrl        = meal.ImageUrl,
                        GeneralPriority = meal.GeneralPriority,
                        LocalPriority   = meal.LocalPriority,
                        MealCategory    = meal.MealCategory,
                        MealContents    = meal.MealContents,
                        MealType        = meal.MealType,
                        Name            = meal.Name,
                        Price           = meal.Price,
                        RestaurantId    = meal.RestaurantId,
                        Description     = meal.Description,
                        MealCategoryId  = meal.MealCategoryId,
                        MealTypeId      = meal.MealTypeId
                    });
                }
                resp.Meals = meals;
            }
            return(resp);
        }