diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-12-16 13:04:07 +0200 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-12-16 13:04:07 +0200 |
| commit | 47c2a91612b54329ba0353b1296846bafc0e9775 (patch) | |
| tree | abf64de35e094c06972270245b5f913e6fc3a5fc /src/DevHive.Web | |
| parent | 5bc055720bd1218af76bafb7437d5150424f6191 (diff) | |
| download | DevHive-47c2a91612b54329ba0353b1296846bafc0e9775.tar DevHive-47c2a91612b54329ba0353b1296846bafc0e9775.tar.gz DevHive-47c2a91612b54329ba0353b1296846bafc0e9775.zip | |
Changed models in Web to use inheritance of most repeated properties
Diffstat (limited to 'src/DevHive.Web')
4 files changed, 40 insertions, 31 deletions
diff --git a/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs new file mode 100644 index 0000000..ff9fac5 --- /dev/null +++ b/src/DevHive.Web/Models/Identity/User/BaseUserWebModel.cs @@ -0,0 +1,30 @@ +using System.ComponentModel.DataAnnotations; +using DevHive.Web.Models.Identity.Validation; + +namespace DevHive.Web.Models.Identity.User +{ + public class BaseUserWebModel + { + [Required] + [MinLength(3)] + [MaxLength(50)] + [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")] + public string UserName { get; set; } + + [Required] + [EmailAddress] + public string Email { get; set; } + + [Required] + [MinLength(3)] + [MaxLength(30)] + [OnlyLetters(ErrorMessage = "First name can only contain letters!")] + public string FirstName { get; set; } + + [Required] + [MinLength(3)] + [MaxLength(30)] + [OnlyLetters(ErrorMessage = "Last name can only contain letters!")] + public string LastName { get; set; } + } +} diff --git a/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs b/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs index 60e860a..22b178b 100644 --- a/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs +++ b/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs @@ -3,32 +3,10 @@ using DevHive.Web.Models.Identity.Validation; namespace DevHive.Web.Models.Identity.User { - public class RegisterWebModel + public class RegisterWebModel : BaseUserWebModel { [Required] - [MinLength(3)] - [MaxLength(50)] - [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")] - public string UserName { get; set; } - - [Required] - [EmailAddress] - public string Email { get; set; } - - [Required] - [MinLength(3)] - [MaxLength(30)] - [OnlyLetters(ErrorMessage = "First name can only contain letters!")] - public string FirstName { get; set; } - - [Required] - [MinLength(3)] - [MaxLength(30)] - [OnlyLetters(ErrorMessage = "Last name can only contain letters!")] - public string LastName { get; set; } - - [Required] [GoodPassword] - public string Password { get; set; } + public virtual string Password { get; set; } } } diff --git a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs index e04e7da..fbe02a5 100644 --- a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs +++ b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs @@ -1,7 +1,12 @@ +using System.ComponentModel.DataAnnotations; +using DevHive.Web.Models.Identity.Validation; + namespace DevHive.Web.Models.Identity.User { - public class UpdateUserWebModel : UserWebModel + public class UpdateUserWebModel : BaseUserWebModel { - public string Password { get; set; } + [Required] + [GoodPassword] + public virtual string Password { get; set; } } } diff --git a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs index e070d44..88ee1b7 100644 --- a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs +++ b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs @@ -1,11 +1,7 @@ namespace DevHive.Web.Models.Identity.User { - public class UserWebModel + public class UserWebModel : BaseUserWebModel { - public string UserName { get; set; } - public string Email { get; set; } - public string FirstName { get; set; } - public string LastName { get; set; } public string Role { get; set; } } } |
