From 0a0bab439dd8ce7adc2bc71adc4b4f4792c77267 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 27 Mar 2014 12:09:07 +0430 Subject: [PATCH] avvalin --- Sevomin.Models/App.config | 4 +- Sevomin.Models/Avalin.cs | 13 +- Sevomin.Models/Dovomin.cs | 4 +- .../Helpers/EmailValidationAttribute.cs | 19 +++ ...201403270733330_Avvalin-update.Designer.cs | 29 ++++ .../201403270733330_Avvalin-update.cs | 28 ++++ .../201403270733330_Avvalin-update.resx | 126 ++++++++++++++++++ Sevomin.Models/Repositories/IRepository.cs | 17 +++ Sevomin.Models/Sevomin.Models.csproj | 10 +- Sevomin.WebFrontend/Web.config | 15 +++ 10 files changed, 259 insertions(+), 6 deletions(-) create mode 100644 Sevomin.Models/Helpers/EmailValidationAttribute.cs create mode 100644 Sevomin.Models/Migrations/201403270733330_Avvalin-update.Designer.cs create mode 100644 Sevomin.Models/Migrations/201403270733330_Avvalin-update.cs create mode 100644 Sevomin.Models/Migrations/201403270733330_Avvalin-update.resx create mode 100644 Sevomin.Models/Repositories/IRepository.cs diff --git a/Sevomin.Models/App.config b/Sevomin.Models/App.config index 3aa9e96..a653955 100644 --- a/Sevomin.Models/App.config +++ b/Sevomin.Models/App.config @@ -1,9 +1,9 @@  -
- + + diff --git a/Sevomin.Models/Avalin.cs b/Sevomin.Models/Avalin.cs index 3c8c047..6db3a0f 100644 --- a/Sevomin.Models/Avalin.cs +++ b/Sevomin.Models/Avalin.cs @@ -1,15 +1,26 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Sevomin.Models.Helpers; namespace Sevomin.Models { [Table("Avalin")] public class Avalin : User { + [Required] public string CompanyName { get; set; } - [Required] + [StringLength(12)] public string NationalId { get; set; } + [StringLength(10)] + public string RegisterId { get; set; } + + public string Address { get; set; } + + public string CompanyPhoneNumber { get; set; } + + [EmailValidation(ErrorMessage="ای میل معتبر نیست")] + public string EMail { get; set; } public Avalin() { diff --git a/Sevomin.Models/Dovomin.cs b/Sevomin.Models/Dovomin.cs index 334d57b..30f5034 100644 --- a/Sevomin.Models/Dovomin.cs +++ b/Sevomin.Models/Dovomin.cs @@ -13,10 +13,10 @@ namespace Sevomin.Models } - public Dovomin(string userName, string fistName, string lastName) + public Dovomin(string userName, string firstName, string lastName) : base(userName) { - this.FirstName = FirstName; + this.FirstName = firstName; this.LastName = lastName; } } diff --git a/Sevomin.Models/Helpers/EmailValidationAttribute.cs b/Sevomin.Models/Helpers/EmailValidationAttribute.cs new file mode 100644 index 0000000..4900bb1 --- /dev/null +++ b/Sevomin.Models/Helpers/EmailValidationAttribute.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Sevomin.Models.Helpers +{ + using System.ComponentModel.DataAnnotations; + + public class EmailValidationAttribute : RegularExpressionAttribute + { + public EmailValidationAttribute() + : base(@"^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-zA-Z0-9]{1}[a-zA-Z0-9\-]{0,62}[a-zA-Z0-9]{1})|[a-zA-Z])\.)+[a-zA-Z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$") + { + + } + } +} diff --git a/Sevomin.Models/Migrations/201403270733330_Avvalin-update.Designer.cs b/Sevomin.Models/Migrations/201403270733330_Avvalin-update.Designer.cs new file mode 100644 index 0000000..088f895 --- /dev/null +++ b/Sevomin.Models/Migrations/201403270733330_Avvalin-update.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Sevomin.Models.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.1.0-30225")] + public sealed partial class Avvalinupdate : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(Avvalinupdate)); + + string IMigrationMetadata.Id + { + get { return "201403270733330_Avvalin-update"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Sevomin.Models/Migrations/201403270733330_Avvalin-update.cs b/Sevomin.Models/Migrations/201403270733330_Avvalin-update.cs new file mode 100644 index 0000000..5089a0b --- /dev/null +++ b/Sevomin.Models/Migrations/201403270733330_Avvalin-update.cs @@ -0,0 +1,28 @@ +namespace Sevomin.Models.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class Avvalinupdate : DbMigration + { + public override void Up() + { + AddColumn("dbo.Avalin", "RegisterId", c => c.String(maxLength: 10)); + AddColumn("dbo.Avalin", "Address", c => c.String()); + AddColumn("dbo.Avalin", "CompanyPhoneNumber", c => c.String()); + AddColumn("dbo.Avalin", "EMail", c => c.String()); + AlterColumn("dbo.Avalin", "CompanyName", c => c.String(nullable: false)); + AlterColumn("dbo.Avalin", "NationalId", c => c.String(maxLength: 12)); + } + + public override void Down() + { + AlterColumn("dbo.Avalin", "NationalId", c => c.String(nullable: false)); + AlterColumn("dbo.Avalin", "CompanyName", c => c.String()); + DropColumn("dbo.Avalin", "EMail"); + DropColumn("dbo.Avalin", "CompanyPhoneNumber"); + DropColumn("dbo.Avalin", "Address"); + DropColumn("dbo.Avalin", "RegisterId"); + } + } +} diff --git a/Sevomin.Models/Migrations/201403270733330_Avvalin-update.resx b/Sevomin.Models/Migrations/201403270733330_Avvalin-update.resx new file mode 100644 index 0000000..06b5954 --- /dev/null +++ b/Sevomin.Models/Migrations/201403270733330_Avvalin-update.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Sevomin.Models/Repositories/IRepository.cs b/Sevomin.Models/Repositories/IRepository.cs new file mode 100644 index 0000000..172413b --- /dev/null +++ b/Sevomin.Models/Repositories/IRepository.cs @@ -0,0 +1,17 @@ +using System.Data.Entity.Core.Objects; + +namespace Sevomin.Models.Repositories +{ + public interface IRepository + { + void Add(T entity); + T Find(K identifier); + void Delete(T entity); + void Save(SaveOptions options = SaveOptions.AcceptAllChangesAfterSave); + } + + public interface IUserRepository : IRepository + { + + } +} diff --git a/Sevomin.Models/Sevomin.Models.csproj b/Sevomin.Models/Sevomin.Models.csproj index 07351e2..650dd82 100644 --- a/Sevomin.Models/Sevomin.Models.csproj +++ b/Sevomin.Models/Sevomin.Models.csproj @@ -58,6 +58,7 @@ + @@ -71,9 +72,13 @@ 201403270618585_National_Id_Avalin.cs + + + 201403270733330_Avvalin-update.cs + - + @@ -92,6 +97,9 @@ 201403270618585_National_Id_Avalin.cs + + 201403270733330_Avvalin-update.cs + + +
+ + + + + + + + + + + + +