init
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Linq;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Naplo.Domain.V3.Interfaces;
|
||||
|
||||
namespace Kreta.Naplo.Domain.V3.Igazolas
|
||||
{
|
||||
public class IgazolasCreateRequest : IValidatableObject, IModelValidacio<IgazolasCreateRequest>
|
||||
{
|
||||
[Required]
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
[Required]
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
[Required]
|
||||
public DateTime IgazolasKezdete { get; set; }
|
||||
|
||||
[Required]
|
||||
public DateTime IgazolasVege { get; set; }
|
||||
|
||||
[Required]
|
||||
public int IgazolasTipus { get; set; }
|
||||
|
||||
public string IgazolasMegjegyzes { get; set; }
|
||||
|
||||
public Dictionary<Predicate<IgazolasCreateRequest>, string> ModelValidaciok => new Dictionary<Predicate<IgazolasCreateRequest>, string>
|
||||
{
|
||||
{ x => x.IgazolasVege < x.IgazolasKezdete, $"A {nameof(IgazolasKezdete)} és a {nameof(IgazolasVege)} paraméterek meg vannak adva, de a {nameof(IgazolasKezdete)} nagyobb, mint a {nameof(IgazolasVege)} értek!" },
|
||||
{ x => (x.IgazolasVege - x.IgazolasKezdete).Days > 20, $"A {nameof(IgazolasKezdete)} és a {nameof(IgazolasVege)} paraméterek meg vannak adva, de maximum 20 napos intervallum adható meg!" },
|
||||
{ x => x.IgazolasKezdete < (DateTime)SqlDateTime.MinValue || x.IgazolasKezdete > (DateTime)SqlDateTime.MaxValue, $"A {nameof(IgazolasKezdete)} paraméter nem lehet kisebb, mint 1753. január 1. és nagyobb, mint 9999. december 31.!" },
|
||||
{ x => x.IgazolasVege < (DateTime)SqlDateTime.MinValue || x.IgazolasVege > (DateTime)SqlDateTime.MaxValue, $"A {nameof(IgazolasVege)} paraméter nem lehet kisebb, mint 1753. január 1. és nagyobb, mint 9999. december 31.!" },
|
||||
{ x => !System.Enum.IsDefined(typeof(IgazolasTipusEnum), x.IgazolasTipus), "Az igazolás típusa nem megfelelő!" }
|
||||
};
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value));
|
||||
}
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
|
||||
namespace Kreta.Naplo.Domain.V3.Igazolas
|
||||
{
|
||||
public class IgazolasResponse
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public DateTime Kezdete { get; set; }
|
||||
|
||||
public DateTime Vege { get; set; }
|
||||
|
||||
public int Tipusa { get; set; }
|
||||
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
public string Rogzito { get; set; }
|
||||
|
||||
public bool Torolheto { get; set; }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user