118 lines
3.6 KiB
C#
118 lines
3.6 KiB
C#
using Manager.DTOs;
|
|
using ManagerService.DTOs;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Linq;
|
|
|
|
|
|
namespace ManagerService.Data.SubSection
|
|
{
|
|
/// <summary>
|
|
/// Section map
|
|
/// </summary>
|
|
public class SectionMap : Section
|
|
{
|
|
public int MapZoom { get; set; } // Default = 18
|
|
public MapTypeApp? MapMapType { get; set; } // Default = Hybrid for Google
|
|
public MapTypeMapBox? MapTypeMapbox { get; set; } // Default = standard for MapBox
|
|
public MapProvider? MapMapProvider { get; set; } // Default = Google
|
|
public List<GeoPoint> MapPoints { get; set; }
|
|
public string MapResourceId { get; set; }
|
|
public Resource MapResource { get; set; } // Icon
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<CategorieDTO> MapCategories { get; set; }
|
|
public string MapCenterLatitude { get; set; } // Center on
|
|
public string MapCenterLongitude { get; set; } // Center on
|
|
|
|
|
|
public MapDTO ToDTO()
|
|
{
|
|
return new MapDTO()
|
|
{
|
|
id = Id,
|
|
label = Label,
|
|
title = Title.ToList(),
|
|
description = Description.ToList(),
|
|
order = Order,
|
|
type = Type,
|
|
imageId = ImageId,
|
|
imageSource = ImageSource,
|
|
configurationId = ConfigurationId,
|
|
isSubSection = IsSubSection,
|
|
parentId = ParentId,
|
|
dateCreation = DateCreation,
|
|
instanceId = InstanceId,
|
|
isBeacon = IsBeacon,
|
|
beaconId = BeaconId,
|
|
latitude = Latitude,
|
|
longitude = Longitude,
|
|
meterZoneGPS = MeterZoneGPS,
|
|
zoom = MapZoom,
|
|
mapType = MapMapType,
|
|
mapTypeMapbox = MapTypeMapbox,
|
|
mapProvider = MapMapProvider,
|
|
iconResourceId = MapResourceId,
|
|
categories = MapCategories,
|
|
centerLatitude = MapCenterLatitude,
|
|
centerLongitude = MapCenterLongitude
|
|
};
|
|
}
|
|
}
|
|
|
|
public class GeoPoint
|
|
{
|
|
[Required]
|
|
public int? Id { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Title { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Description { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<ContentDTO> Contents { get; set; }
|
|
|
|
public int? CategorieId { get; set; }
|
|
|
|
public string Latitude { get; set; }
|
|
|
|
public string Longitude { get; set; }
|
|
|
|
public string ImageResourceId { get; set; }
|
|
|
|
public string ImageUrl { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Schedules { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Prices { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Phone { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Email { get; set; }
|
|
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<TranslationDTO> Site { get; set; }
|
|
|
|
public string SectionMapId { get; set; }
|
|
|
|
[ForeignKey("SectionMapId")]
|
|
public SectionMap SectionMap { get; set; }
|
|
}
|
|
}
|