92 lines
2.1 KiB
C#
Raw Normal View History

using BulletinBoardContracts.BindingModels;
using BulletinBoardContracts.ViewModels;
using BulletinBoardDatabase.Models;
using BulletinBoardDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BulletinBoardDatabase.Models
{
public class Announcement : IAnnouncementModel
{
[Required]
public string Title { get; set; }
[Required]
public string Description { get; set; }
[Required]
public DateTime StartDate { get; set; }
public string? ReviewText { get; set; }
public int? ReviewRating { get ; set; }
[Required]
public int? UserId { get; set; }
[Required]
public int? CategoryId { get; set; }
[Required]
public int? RegionId { get; set; }
public int? Id { get; private set; }
public virtual Category Category { get; set; }
public virtual User User { get; set; }
public virtual Region Region { get; set; }
public static Announcement? Create(AnnouncementBindingModel? model)
{
if (model == null)
{
return null;
}
return new Announcement()
{
Id = model.Id,
Title = model.Title,
Description = model.Description,
StartDate = model.StartDate,
ReviewText = model.ReviewText,
ReviewRating = model.ReviewRating,
CategoryId = model.CategoryId,
UserId = model.UserId,
RegionId = model.RegionId,
};
}
public void Update(AnnouncementBindingModel? model)
{
if (model == null)
{
return;
}
ReviewText = model.ReviewText;
ReviewRating = model.ReviewRating;
}
public AnnouncementViewModel GetViewModel => new()
{
Id = Id,
Title = Title,
Description = Description,
StartDate = StartDate,
UserName = User == null ? string.Empty : User.Name,
UserSurname = User == null ? string.Empty : User.Surname,
ReviewText = ReviewText,
ReviewRating = ReviewRating,
UserId = UserId,
CategoryId = CategoryId,
RegionId = RegionId,
};
public string ObjectId => throw new NotImplementedException();
}
}