111 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.ComponentModel.DataAnnotations;
 | ||
| using System.ComponentModel.DataAnnotations.Schema;
 | ||
| using System.Text.Json.Serialization;
 | ||
| 
 | ||
| namespace Blahblah.FlowerStory.Server.Data.Model;
 | ||
| 
 | ||
| /// <summary>
 | ||
| /// 花草对象
 | ||
| /// </summary>
 | ||
| [Table("flowers")]
 | ||
| public class FlowerItem : ILocation
 | ||
| {
 | ||
|     /// <summary>
 | ||
|     /// 自增 id,主键
 | ||
|     /// </summary>
 | ||
|     [Column("fid")]
 | ||
|     [Key]
 | ||
|     [Required]
 | ||
|     public int Id { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 所有人 id
 | ||
|     /// </summary>
 | ||
|     [Column("uid")]
 | ||
|     [ForeignKey(nameof(Owner))]
 | ||
|     [Required]
 | ||
|     public required int OwnerId { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 所有人
 | ||
|     /// </summary>
 | ||
|     [JsonIgnore]
 | ||
|     public UserItem? Owner { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 类别 id
 | ||
|     /// </summary>
 | ||
|     [Column("categoryid")]
 | ||
|     [Required]
 | ||
|     public required int CategoryId { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 花草名称
 | ||
|     /// </summary>
 | ||
|     [Column("name")]
 | ||
|     [Required]
 | ||
|     public required string Name { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 购买时间
 | ||
|     /// </summary>
 | ||
|     [Column("datebuy")]
 | ||
|     [Required]
 | ||
|     [JsonPropertyName("dateBuy")]
 | ||
|     public required long DateBuyUnixTime { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 购买花费
 | ||
|     /// </summary>
 | ||
|     [Column("cost", TypeName = "real")]
 | ||
|     public decimal? Cost { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 购买渠道
 | ||
|     /// </summary>
 | ||
|     [Column("purchase")]
 | ||
|     public string? Purchase { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 备注
 | ||
|     /// </summary>
 | ||
|     [Column("memo")]
 | ||
|     public string? Memo { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 购买时间
 | ||
|     /// </summary>
 | ||
|     [NotMapped]
 | ||
|     [JsonIgnore]
 | ||
|     public DateTimeOffset DateBuy => DateTimeOffset.FromUnixTimeMilliseconds(DateBuyUnixTime);
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 封面相关照片
 | ||
|     /// </summary>
 | ||
|     public ICollection<PhotoItem>? Photos { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 纬度
 | ||
|     /// </summary>
 | ||
|     [Column("latitude")]
 | ||
|     public double? Latitude { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 经度
 | ||
|     /// </summary>
 | ||
|     [Column("longitude")]
 | ||
|     public double? Longitude { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 距离(米)
 | ||
|     /// </summary>
 | ||
|     [NotMapped]
 | ||
|     public int? Distance { get; set; }
 | ||
| 
 | ||
|     /// <summary>
 | ||
|     /// 花草位置
 | ||
|     /// </summary>
 | ||
|     [NotMapped]
 | ||
|     public string? Location { get; set; }
 | ||
| }
 |