diff --git a/src/Application/Exceptions/EntityNotFoundException.cs b/src/Application/Exceptions/EntityNotFoundException.cs
new file mode 100644
index 000000000..2226c1975
--- /dev/null
+++ b/src/Application/Exceptions/EntityNotFoundException.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Runtime.Serialization;
+
+namespace BlazorHero.CleanArchitecture.Application.Exceptions
+{
+ [Serializable]
+ public class EntityNotFoundException : Exception
+ {
+ ///
+ /// Type of the entity.
+ ///
+ public Type EntityType { get; set; }
+
+ ///
+ /// Id of the Entity.
+ ///
+ public object Id { get; set; }
+
+ ///
+ /// Creates a new object.
+ ///
+ public EntityNotFoundException()
+ {
+
+ }
+
+ ///
+ /// Creates a new object.
+ ///
+ public EntityNotFoundException(SerializationInfo serializationInfo, StreamingContext context)
+ : base(serializationInfo, context)
+ {
+
+ }
+
+ ///
+ /// Creates a new object.
+ ///
+ public EntityNotFoundException(Type entityType, object id)
+ : this(entityType, id, null)
+ {
+
+ }
+
+ ///
+ /// Creates a new object.
+ ///
+ public EntityNotFoundException(Type entityType, object id, Exception innerException)
+ : base($"There is no such an entity. Entity type: {entityType.FullName}, id: {id}", innerException)
+ {
+ EntityType = entityType;
+ Id = id;
+ }
+
+ ///
+ /// Creates a new object.
+ ///
+ /// Exception message
+ public EntityNotFoundException(string message)
+ : base(message)
+ {
+
+ }
+
+ ///
+ /// Creates a new object.
+ ///
+ /// Exception message
+ /// Inner exception
+ public EntityNotFoundException(string message, Exception innerException)
+ : base(message, innerException)
+ {
+
+ }
+ }
+}
diff --git a/src/Application/Features/Brands/Queries/GetAll/GetAllBrandsQuery.cs b/src/Application/Features/Brands/Queries/GetAll/GetAllBrandsQuery.cs
index f29b50ee0..c99839352 100644
--- a/src/Application/Features/Brands/Queries/GetAll/GetAllBrandsQuery.cs
+++ b/src/Application/Features/Brands/Queries/GetAll/GetAllBrandsQuery.cs
@@ -34,7 +34,7 @@ public GetAllBrandsCachedQueryHandler(IUnitOfWork unitOfWork, IMapper mappe
public async Task>> Handle(GetAllBrandsQuery request, CancellationToken cancellationToken)
{
- Func>> getAllBrands = () => _unitOfWork.Repository().GetAllAsync();
+ Func>> getAllBrands = () => _unitOfWork.Repository().GetAllListAsync();
var brandList = await _cache.GetOrAddAsync(ApplicationConstants.Cache.GetAllBrandsCacheKey, getAllBrands);
var mappedBrands = _mapper.Map>(brandList);
return await Result>.SuccessAsync(mappedBrands);
diff --git a/src/Application/Features/DocumentTypes/Queries/GetAll/GetAllDocumentTypesQuery.cs b/src/Application/Features/DocumentTypes/Queries/GetAll/GetAllDocumentTypesQuery.cs
index e25d46230..5ca932e4f 100644
--- a/src/Application/Features/DocumentTypes/Queries/GetAll/GetAllDocumentTypesQuery.cs
+++ b/src/Application/Features/DocumentTypes/Queries/GetAll/GetAllDocumentTypesQuery.cs
@@ -34,7 +34,7 @@ public GetAllDocumentTypesQueryHandler(IUnitOfWork unitOfWork, IMapper mapp
public async Task>> Handle(GetAllDocumentTypesQuery request, CancellationToken cancellationToken)
{
- Func>> getAllDocumentTypes = () => _unitOfWork.Repository().GetAllAsync();
+ Func>> getAllDocumentTypes = () => _unitOfWork.Repository().GetAllListAsync();
var documentTypeList = await _cache.GetOrAddAsync(ApplicationConstants.Cache.GetAllDocumentTypesCacheKey, getAllDocumentTypes);
var mappedDocumentTypes = _mapper.Map>(documentTypeList);
return await Result>.SuccessAsync(mappedDocumentTypes);
diff --git a/src/Application/Features/ExtendedAttributes/Queries/GetAll/GetAllExtendedAttributesQuery.cs b/src/Application/Features/ExtendedAttributes/Queries/GetAll/GetAllExtendedAttributesQuery.cs
index 5296d4cec..d3aa175ac 100644
--- a/src/Application/Features/ExtendedAttributes/Queries/GetAll/GetAllExtendedAttributesQuery.cs
+++ b/src/Application/Features/ExtendedAttributes/Queries/GetAll/GetAllExtendedAttributesQuery.cs
@@ -42,7 +42,7 @@ public GetAllExtendedAttributesQueryHandler(IUnitOfWork unitOfWork, IMapper
public async Task>>> Handle(GetAllExtendedAttributesQuery request, CancellationToken cancellationToken)
{
- Func>> getAllExtendedAttributes = () => _unitOfWork.Repository().GetAllAsync();
+ Func>> getAllExtendedAttributes = () => _unitOfWork.Repository().GetAllListAsync();
var extendedAttributeList = await _cache.GetOrAddAsync(ApplicationConstants.Cache.GetAllEntityExtendedAttributesCacheKey(typeof(TEntity).Name), getAllExtendedAttributes);
var mappedExtendedAttributes = _mapper.Map>>(extendedAttributeList);
return await Result>>.SuccessAsync(mappedExtendedAttributes);
diff --git a/src/Application/Interfaces/Repositories/IRepositoryAsync.cs b/src/Application/Interfaces/Repositories/IRepositoryAsync.cs
index a371db1de..f287fbc71 100644
--- a/src/Application/Interfaces/Repositories/IRepositoryAsync.cs
+++ b/src/Application/Interfaces/Repositories/IRepositoryAsync.cs
@@ -1,24 +1,310 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
+using System.Linq.Expressions;
using System.Threading.Tasks;
using BlazorHero.CleanArchitecture.Domain.Contracts;
namespace BlazorHero.CleanArchitecture.Application.Interfaces.Repositories
{
- public interface IRepositoryAsync where T : class, IEntity
+ public interface IRepositoryAsync where T : class, IEntity
{
IQueryable Entities { get; }
Task GetByIdAsync(TId id);
- Task> GetAllAsync();
Task> GetPagedResponseAsync(int pageNumber, int pageSize);
Task AddAsync(T entity);
- Task UpdateAsync(T entity);
+
+
+ #region Select/Get/Query
+
+ ///
+ /// Used to get a IQueryable that is used to retrieve entities from entire table.
+ ///
+ /// IQueryable to be used to select entities from database
+ IQueryable GetAll();
+
+ ///
+ /// Used to get a IQueryable that is used to retrieve entities from entire table.
+ /// One or more
+ ///
+ /// A list of include expressions.
+ /// IQueryable to be used to select entities from database
+ IQueryable GetAllIncluding(params Expression>[] propertySelectors);
+
+ ///
+ /// Used to get all entities.
+ ///
+ /// List of all entities
+ List GetAllList();
+
+ ///
+ /// Used to get all entities.
+ ///
+ /// List of all entities
+ Task> GetAllListAsync();
+
+ ///
+ /// Used to get all entities based on given .
+ ///
+ /// A condition to filter entities
+ /// List of all entities
+ List GetAllList(Expression> predicate);
+
+ ///
+ /// Used to get all entities based on given .
+ ///
+ /// A condition to filter entities
+ /// List of all entities
+ Task> GetAllListAsync(Expression> predicate);
+
+ /////
+ ///// Used to run a query over entire entities.
+ ///// attribute is not always necessary (as opposite to )
+ ///// if finishes IQueryable with ToList, FirstOrDefault etc..
+ /////
+ ///// Type of return value of this method
+ ///// This method is used to query over entities
+ ///// Query result
+ //T Query(Func, T> queryMethod);
+
+ ///
+ /// Gets an entity with given primary key.
+ ///
+ /// Primary key of the entity to get
+ /// Entity
+ T Get(TId id);
+
+ ///
+ /// Gets an entity with given primary key.
+ ///
+ /// Primary key of the entity to get
+ /// Entity
+ Task GetAsync(TId id);
+
+ ///
+ /// Gets exactly one entity with given predicate.
+ /// Throws exception if no entity or more than one entity.
+ ///
+ /// Entity
+ T Single(Expression> predicate);
+
+ ///
+ /// Gets exactly one entity with given predicate.
+ /// Throws exception if no entity or more than one entity.
+ ///
+ /// Entity
+ Task SingleAsync(Expression> predicate);
+
+ ///
+ /// Gets an entity with given primary key or null if not found.
+ ///
+ /// Primary key of the entity to get
+ /// Entity or null
+ T FirstOrDefault(TId id);
+
+ ///
+ /// Gets an entity with given primary key or null if not found.
+ ///
+ /// Primary key of the entity to get
+ /// Entity or null
+ Task FirstOrDefaultAsync(TId id);
+
+ ///
+ /// Gets an entity with given given predicate or null if not found.
+ ///
+ /// Predicate to filter entities
+ T FirstOrDefault(Expression> predicate);
+
+ ///
+ /// Gets an entity with given given predicate or null if not found.
+ ///
+ /// Predicate to filter entities
+ Task FirstOrDefaultAsync(Expression> predicate);
+
+ ///
+ /// Creates an entity with given primary key without database access.
+ ///
+ /// Primary key of the entity to load
+ /// Entity
+ T Load(TId id);
+
+ #endregion
+
+ #region Insert
+
+ ///
+ /// Inserts a new entity.
+ ///
+ /// Inserted entity
+ T Insert(T entity);
+
+ ///
+ /// Inserts a new entity.
+ ///
+ /// Inserted entity
+ Task InsertAsync(T entity);
+
+ ///
+ /// Inserts a new entity and gets it's Id.
+ /// It may require to save current unit of work
+ /// to be able to retrieve id.
+ ///
+ /// Entity
+ /// Id of the entity
+ TId InsertAndGetId(T entity);
+
+ ///
+ /// Inserts a new entity and gets it's Id.
+ /// It may require to save current unit of work
+ /// to be able to retrieve id.
+ ///
+ /// Entity
+ /// Id of the entity
+ Task InsertAndGetIdAsync(T entity);
+
+
+ #endregion
+
+ #region Update
+
+ ///
+ /// Updates an existing entity.
+ ///
+ /// Entity
+ T Update(T entity);
+
+ ///
+ /// Updates an existing entity.
+ ///
+ /// Entity
+ Task UpdateAsync(T entity);
+
+ ///
+ /// Updates an existing entity.
+ ///
+ /// Id of the entity
+ /// Action that can be used to change values of the entity
+ /// Updated entity
+ T Update(TId id, Action updateAction);
+
+ ///
+ /// Updates an existing entity.
+ ///
+ /// Id of the entity
+ /// Action that can be used to change values of the entity
+ /// Updated entity
+ Task UpdateAsync(TId id, Func updateAction);
+
+ #endregion
+
+ #region Delete
+
+ ///
+ /// Deletes an entity.
+ ///
+ /// Entity to be deleted
+ void Delete(T entity);
+
+ ///
+ /// Deletes an entity.
+ ///
+ /// Entity to be deleted
Task DeleteAsync(T entity);
+
+ ///
+ /// Deletes an entity by primary key.
+ ///
+ /// Primary key of the entity
+ void Delete(TId id);
+
+ ///
+ /// Deletes an entity by primary key.
+ ///
+ /// Primary key of the entity
+ Task DeleteAsync(TId id);
+
+ ///
+ /// Deletes many entities by function.
+ /// Notice that: All entities fits to given predicate are retrieved and deleted.
+ /// This may cause major performance problems if there are too many entities with
+ /// given predicate.
+ ///
+ /// A condition to filter entities
+ void Delete(Expression> predicate);
+
+ ///
+ /// Deletes many entities by function.
+ /// Notice that: All entities fits to given predicate are retrieved and deleted.
+ /// This may cause major performance problems if there are too many entities with
+ /// given predicate.
+ ///
+ /// A condition to filter entities
+ Task DeleteAsync(Expression> predicate);
+
+ #endregion
+
+ #region Aggregates
+
+ ///
+ /// Gets count of all entities in this repository.
+ ///
+ /// Count of entities
+ int Count();
+
+ ///
+ /// Gets count of all entities in this repository.
+ ///
+ /// Count of entities
+ Task CountAsync();
+
+ ///
+ /// Gets count of all entities in this repository based on given .
+ ///
+ /// A method to filter count
+ /// Count of entities
+ int Count(Expression> predicate);
+
+ ///
+ /// Gets count of all entities in this repository based on given .
+ ///
+ /// A method to filter count
+ /// Count of entities
+ Task CountAsync(Expression> predicate);
+
+ ///
+ /// Gets count of all entities in this repository (use if expected return value is greater than .
+ ///
+ /// Count of entities
+ long LongCount();
+
+ ///
+ /// Gets count of all entities in this repository (use if expected return value is greater than .
+ ///
+ /// Count of entities
+ Task LongCountAsync();
+
+ ///
+ /// Gets count of all entities in this repository based on given
+ /// (use this overload if expected return value is greater than ).
+ ///
+ /// A method to filter count
+ /// Count of entities
+ long LongCount(Expression> predicate);
+
+ ///
+ /// Gets count of all entities in this repository based on given
+ /// (use this overload if expected return value is greater than ).
+ ///
+ /// A method to filter count
+ /// Count of entities
+ Task LongCountAsync(Expression> predicate);
+
+ #endregion
}
}
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Brands/Commands/AddEdit/AddEditBrandCommandHandler.fa.resx b/src/Application/Resources/Features/Brands/Commands/AddEdit/AddEditBrandCommandHandler.fa.resx
new file mode 100644
index 000000000..f84679194
--- /dev/null
+++ b/src/Application/Resources/Features/Brands/Commands/AddEdit/AddEditBrandCommandHandler.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برند پیدا نشد!
+
+
+ برند ذخیره شد
+
+
+ برند به روز رسانی شد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Brands/Commands/Delete/DeleteBrandCommandHandler.fa.resx b/src/Application/Resources/Features/Brands/Commands/Delete/DeleteBrandCommandHandler.fa.resx
new file mode 100644
index 000000000..dd17b5d70
--- /dev/null
+++ b/src/Application/Resources/Features/Brands/Commands/Delete/DeleteBrandCommandHandler.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برند حذف شد
+
+
+ برند پیدا نشد!
+
+
+ عملیات حذف مجاز نیست
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Brands/Commands/Import/ImportBrandsCommandHandler.fa.resx b/src/Application/Resources/Features/Brands/Commands/Import/ImportBrandsCommandHandler.fa.resx
new file mode 100644
index 000000000..ac0f3aa82
--- /dev/null
+++ b/src/Application/Resources/Features/Brands/Commands/Import/ImportBrandsCommandHandler.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برندها
+
+
+ توضیحات
+
+
+ نام
+
+
+ مالیات
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Brands/Queries/Export/ExportBrandsQueryHandler.fa.resx b/src/Application/Resources/Features/Brands/Queries/Export/ExportBrandsQueryHandler.fa.resx
new file mode 100644
index 000000000..15f89e5fb
--- /dev/null
+++ b/src/Application/Resources/Features/Brands/Queries/Export/ExportBrandsQueryHandler.fa.resx
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برندها
+
+
+ توضیحات
+
+
+ شناسه
+
+
+ نام
+
+
+ مالیات
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Dashboards/Queries/GetData/GetDashboardDataQueryHandler.fa.resx b/src/Application/Resources/Features/Dashboards/Queries/GetData/GetDashboardDataQueryHandler.fa.resx
new file mode 100644
index 000000000..5fc8ad596
--- /dev/null
+++ b/src/Application/Resources/Features/Dashboards/Queries/GetData/GetDashboardDataQueryHandler.fa.resx
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برندها
+
+
+ ویژگی های توسعه یافته سند
+
+
+ انواع سند
+
+
+ اسناد
+
+
+ محصولات
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/DocumentTypes/Commands/AddEdit/AddEditDocumentTypeCommandHandler.fa.resx b/src/Application/Resources/Features/DocumentTypes/Commands/AddEdit/AddEditDocumentTypeCommandHandler.fa.resx
new file mode 100644
index 000000000..b9869f4e4
--- /dev/null
+++ b/src/Application/Resources/Features/DocumentTypes/Commands/AddEdit/AddEditDocumentTypeCommandHandler.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ سند یافت نشد!
+
+
+ نوع سند ذخیره شد
+
+
+ نعو سند به روز رسانی شد
+
+
+ سندی با این نام از قبل وجود دارد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/DocumentTypes/Commands/Delete/DeleteDocumentTypeCommandHandler.fa.resx b/src/Application/Resources/Features/DocumentTypes/Commands/Delete/DeleteDocumentTypeCommandHandler.fa.resx
new file mode 100644
index 000000000..8eaa4ae08
--- /dev/null
+++ b/src/Application/Resources/Features/DocumentTypes/Commands/Delete/DeleteDocumentTypeCommandHandler.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیات حذف محاز نیست
+
+
+ نوع سند حذف شد
+
+
+ نوع سند یافت نشد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/DocumentTypes/Queries/Export/ExportDocumentTypesQueryHandler.fa.resx b/src/Application/Resources/Features/DocumentTypes/Queries/Export/ExportDocumentTypesQueryHandler.fa.resx
new file mode 100644
index 000000000..bfc369486
--- /dev/null
+++ b/src/Application/Resources/Features/DocumentTypes/Queries/Export/ExportDocumentTypesQueryHandler.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ توضیحات
+
+
+ انواع سند
+
+
+ شناسه
+
+
+ نام
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Documents/Commands/AddEdit/AddEditDocumentCommandHandler.fa.resx b/src/Application/Resources/Features/Documents/Commands/AddEdit/AddEditDocumentCommandHandler.fa.resx
new file mode 100644
index 000000000..371248473
--- /dev/null
+++ b/src/Application/Resources/Features/Documents/Commands/AddEdit/AddEditDocumentCommandHandler.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ سند یافت نشد!
+
+
+ سند ذخیره شد
+
+
+ سند به روز رسانی شد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Documents/Commands/Delete/DeleteDocumentCommandHandler.fa.resx b/src/Application/Resources/Features/Documents/Commands/Delete/DeleteDocumentCommandHandler.fa.resx
new file mode 100644
index 000000000..d92ee2ad8
--- /dev/null
+++ b/src/Application/Resources/Features/Documents/Commands/Delete/DeleteDocumentCommandHandler.fa.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
+
+
+ سند حذف شد
+
+
+ سند یافت نشد!
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/ExtendedAttributes/Commands/AddEdit/AddEditExtendedAttributeCommandLocalization.fa.resx b/src/Application/Resources/Features/ExtendedAttributes/Commands/AddEdit/AddEditExtendedAttributeCommandLocalization.fa.resx
new file mode 100644
index 000000000..85182aef3
--- /dev/null
+++ b/src/Application/Resources/Features/ExtendedAttributes/Commands/AddEdit/AddEditExtendedAttributeCommandLocalization.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ویژگی توسعه یافته یافت نشد
+
+
+ ویژگی توسعه یافته حذف شد
+
+
+ ویژگی توسعه یافته به روز رسانی شد
+
+
+ چنین ویژگی توسعه یافته ایی از قبل وجود دارد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/ExtendedAttributes/Commands/Delete/DeleteExtendedAttributeCommandLocalization.fa.resx b/src/Application/Resources/Features/ExtendedAttributes/Commands/Delete/DeleteExtendedAttributeCommandLocalization.fa.resx
new file mode 100644
index 000000000..c5fd8d68b
--- /dev/null
+++ b/src/Application/Resources/Features/ExtendedAttributes/Commands/Delete/DeleteExtendedAttributeCommandLocalization.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیات حذف مجاز نیست
+
+
+ ویژگی توسعه یافته جذف شد
+
+
+ ویژگی توسعه یافته یافت نشد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/ExtendedAttributes/Queries/Export/ExportExtendedAttributesQueryLocalization.fa.resx b/src/Application/Resources/Features/ExtendedAttributes/Queries/Export/ExportExtendedAttributesQueryLocalization.fa.resx
new file mode 100644
index 000000000..9214663fb
--- /dev/null
+++ b/src/Application/Resources/Features/ExtendedAttributes/Queries/Export/ExportExtendedAttributesQueryLocalization.fa.resx
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ توضیحات
+
+
+ EntityCreatedBy
+
+
+ EntityCreatedOn (Local)
+
+
+ EntityCreatedOn (UTC)
+
+
+ EntityId
+
+
+ EntityLastModifiedBy
+
+
+ EntityLastModifiedOn (Local)
+
+
+ EntityLastModifiedOn (UTC)
+
+
+ ExternalId
+
+
+ گروه
+
+
+ شناسه
+
+
+ آیا فعال ایست
+
+
+ کلید
+
+
+ نوع
+
+
+ نوع باید مجاز باشد
+
+
+ مقدار
+
+
+ {0} Extended Attributes
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Products/Commands/AddEdit/AddEditProductCommandHandler.fa.resx b/src/Application/Resources/Features/Products/Commands/AddEdit/AddEditProductCommandHandler.fa.resx
new file mode 100644
index 000000000..f4381bf7a
--- /dev/null
+++ b/src/Application/Resources/Features/Products/Commands/AddEdit/AddEditProductCommandHandler.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برند از قبل وچود دارد
+
+
+ محصول یافت نشد
+
+
+ محصول ذخیره شد
+
+
+ محصول به روز رسانی شد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Products/Commands/Delete/DeleteProductCommandHandler.fa.resx b/src/Application/Resources/Features/Products/Commands/Delete/DeleteProductCommandHandler.fa.resx
new file mode 100644
index 000000000..0586bf17d
--- /dev/null
+++ b/src/Application/Resources/Features/Products/Commands/Delete/DeleteProductCommandHandler.fa.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
+
+
+ محصول حذف شد
+
+
+ محصول یافت نشد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Features/Products/Queries/Export/ExportProductsQueryHandler.fa.resx b/src/Application/Resources/Features/Products/Queries/Export/ExportProductsQueryHandler.fa.resx
new file mode 100644
index 000000000..6d486b3f3
--- /dev/null
+++ b/src/Application/Resources/Features/Products/Queries/Export/ExportProductsQueryHandler.fa.resx
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ بارکد
+
+
+ توضیحات
+
+
+ شناسه
+
+
+ نام
+
+
+ محصولات
+
+
+ امتیاز
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Features/Brands/Commands/AddEdit/AddEditBrandCommandValidator.fa.resx b/src/Application/Resources/Validators/Features/Brands/Commands/AddEdit/AddEditBrandCommandValidator.fa.resx
new file mode 100644
index 000000000..080307322
--- /dev/null
+++ b/src/Application/Resources/Validators/Features/Brands/Commands/AddEdit/AddEditBrandCommandValidator.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ توضیحات اجباری است!
+
+
+ نام اجباری است!
+
+
+ مالیات باید بیشتر از 0 باشد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Features/DocumentTypes/Commands/AddEdit/AddEditDocumentTypeCommandValidator.fa.resx b/src/Application/Resources/Validators/Features/DocumentTypes/Commands/AddEdit/AddEditDocumentTypeCommandValidator.fa.resx
new file mode 100644
index 000000000..0f3d9b923
--- /dev/null
+++ b/src/Application/Resources/Validators/Features/DocumentTypes/Commands/AddEdit/AddEditDocumentTypeCommandValidator.fa.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
+
+
+ توضیحات اجباری است!
+
+
+ نام اجباری است!
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Features/Documents/Commands/AddEdit/AddEditDocumentCommandValidator.fa.resx b/src/Application/Resources/Validators/Features/Documents/Commands/AddEdit/AddEditDocumentCommandValidator.fa.resx
new file mode 100644
index 000000000..50419035b
--- /dev/null
+++ b/src/Application/Resources/Validators/Features/Documents/Commands/AddEdit/AddEditDocumentCommandValidator.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ توضیحات اجباری است!
+
+
+ نوع سند اجباری است
+
+
+ فایل اجباری است
+
+
+ عنوان اجباری است
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Features/ExtendedAttributes/Commands/AddEdit/AddEditExtendedAttributeCommandValidatorLocalization.fa.resx b/src/Application/Resources/Validators/Features/ExtendedAttributes/Commands/AddEdit/AddEditExtendedAttributeCommandValidatorLocalization.fa.resx
new file mode 100644
index 000000000..80ed559ad
--- /dev/null
+++ b/src/Application/Resources/Validators/Features/ExtendedAttributes/Commands/AddEdit/AddEditExtendedAttributeCommandValidatorLocalization.fa.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ مقدار DateTime با استفاده از نوع {0} مورد نیاز است!
+
+
+ مقدار اعشاری با استفاده از نوع {0} مورد نیاز است!
+
+
+ موجودیت اجباری است
+
+
+ مقدار Json با استفاده از نوع {0} مورد نیاز است!
+
+
+ مقدار Json باید یک رشته json معتبر با استفاده از نوع {0} باشد!
+
+
+ کلید اجباری است!
+
+
+ مقدار متن با استفاده از نوع {0} مورد نیاز است!
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Features/Products/Commands/AddEdit/AddEditProductCommandValidator.fa.resx b/src/Application/Resources/Validators/Features/Products/Commands/AddEdit/AddEditProductCommandValidator.fa.resx
new file mode 100644
index 000000000..a8e177762
--- /dev/null
+++ b/src/Application/Resources/Validators/Features/Products/Commands/AddEdit/AddEditProductCommandValidator.fa.resx
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ بارکد اجباری است!
+
+
+ برند اجباری است!
+
+
+ توضیحات اجباری است!
+
+
+ نام اجباری است!
+
+
+ امتیاز باید بیشتر از 0 باشد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/ChangePasswordRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/ChangePasswordRequestValidator.fa.resx
new file mode 100644
index 000000000..9480a4167
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/ChangePasswordRequestValidator.fa.resx
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ رمز عبور فعلی اجباری است!
+
+
+ تایید رمز عبور اجباری است!
+
+
+ رمز عبور مورد اجباری است!
+
+
+ رمز عبور باید حداقل 8 باشد
+
+
+ رمز عبور باید حداقل یک حرف بزرگ داشته باشد
+
+
+ رمز عبور باید حداقل دارای یک رقم باشد
+
+
+ رمز عبور باید حداقل یک حرف کوچک داشته باشد
+
+
+ گذرواژه ها مطابقت ندارند
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/ForgotPasswordRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/ForgotPasswordRequestValidator.fa.resx
new file mode 100644
index 000000000..3c8e72bc4
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/ForgotPasswordRequestValidator.fa.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
+
+
+ ایمیل درست نیست
+
+
+ ایمیل اجباری است
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/RegisterRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/RegisterRequestValidator.fa.resx
new file mode 100644
index 000000000..0127b4311
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/RegisterRequestValidator.fa.resx
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ایمیل درست نیست
+
+
+ ایمیل مورد نیاز است
+
+
+ نام الزامی است
+
+
+ نام خانوادگی الزامی است
+
+
+ تایید رمز عبور اجباری است!
+
+
+ رمز عبور اجباری است!
+
+
+ رمز عبور باید حداقل 8 باشد
+
+
+ رمز عبور باید حداقل یک حرف بزرگ داشته باشد
+
+
+ رمز عبور باید حداقل دارای یک رقم باشد
+
+
+ رمز عبور باید حداقل یک حرف کوچک داشته باشد
+
+
+ گذرواژه ها مطابقت ندارند
+
+
+ نام کاربری اچباری است
+
+
+ نام کاربری باید حداقل 6 باشد
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/ResetPasswordRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/ResetPasswordRequestValidator.fa.resx
new file mode 100644
index 000000000..4aeeeeb01
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/ResetPasswordRequestValidator.fa.resx
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ایمیل درست نیست
+
+
+ ایمیل اجباری است
+
+
+ تایید رمز عبور اجباری است
+
+
+ رمز عبور اجباری است
+
+
+ رمز عبور باید حداقل 8 باشد
+
+
+ رمز عبور باید حداقل یک حرف بزرگ داشته باشد
+
+
+ رمز عبور باید حداقل دارای یک رقم باشد
+
+
+ رمز عبور باید حداقل یک حرف کوچک داشته باشد
+
+
+ گذرواژه ها مطابقت ندارند
+
+
+ توکن اجباری است
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/RoleRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/RoleRequestValidator.fa.resx
new file mode 100644
index 000000000..1c61a1df5
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/RoleRequestValidator.fa.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ نام اجباری است
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/TokenRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/TokenRequestValidator.fa.resx
new file mode 100644
index 000000000..9abf7b636
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/TokenRequestValidator.fa.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ایمیل درست نیست
+
+
+ ایمیل اجباری است
+
+
+ رمز عبور اجباری است!
+
+
\ No newline at end of file
diff --git a/src/Application/Resources/Validators/Requests/Identity/UpdateProfileRequestValidator.fa.resx b/src/Application/Resources/Validators/Requests/Identity/UpdateProfileRequestValidator.fa.resx
new file mode 100644
index 000000000..49ab55a3d
--- /dev/null
+++ b/src/Application/Resources/Validators/Requests/Identity/UpdateProfileRequestValidator.fa.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
+
+
+ نام اجباری است
+
+
+ نام خانوادگی اجباری است
+
+
\ No newline at end of file
diff --git a/src/Client.Infrastructure/Resources/Managers/Identity/Authentication/AuthenticationManager.fa.resx b/src/Client.Infrastructure/Resources/Managers/Identity/Authentication/AuthenticationManager.fa.resx
new file mode 100644
index 000000000..ee6309ac2
--- /dev/null
+++ b/src/Client.Infrastructure/Resources/Managers/Identity/Authentication/AuthenticationManager.fa.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ در حین عمل نشانه بهروزرسانی مشکلی پیش آمد
+
+
\ No newline at end of file
diff --git a/src/Client.Infrastructure/Resources/Managers/Interceptors/HttpInterceptorManager.fa.resx b/src/Client.Infrastructure/Resources/Managers/Interceptors/HttpInterceptorManager.fa.resx
new file mode 100644
index 000000000..60493d779
--- /dev/null
+++ b/src/Client.Infrastructure/Resources/Managers/Interceptors/HttpInterceptorManager.fa.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
+
+
+ توکن رفرش شده.
+
+
+ شما از سیستم خارج شده اید.
+
+
\ No newline at end of file
diff --git a/src/Client.Infrastructure/Resources/Managers/Preferences/ClientPreferenceManager.fa.resx b/src/Client.Infrastructure/Resources/Managers/Preferences/ClientPreferenceManager.fa.resx
new file mode 100644
index 000000000..64c24a2d5
--- /dev/null
+++ b/src/Client.Infrastructure/Resources/Managers/Preferences/ClientPreferenceManager.fa.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
+
+
+ زبان client تغییر کرده است
+
+
+ تنظیمات برگزیده client دریافت نشد
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Account/Forgot.fa.resx b/src/Client/Resources/Pages/Account/Forgot.fa.resx
new file mode 100644
index 000000000..1d143ccd3
--- /dev/null
+++ b/src/Client/Resources/Pages/Account/Forgot.fa.resx
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ انجام شد!
+
+
+ ایمیل
+
+
+ آدرس ایمیل مرتبط با حساب خود را وارد کنید و ایمیلی حاوی لینکی برای بازیابی رمز عبور خود دریافت خواهید کرد.
+
+
+ رمز خود را فراموش کردید؟
+
+
+ بازیابی رمز عبور
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Account/Register.fa.resx b/src/Client/Resources/Pages/Account/Register.fa.resx
new file mode 100644
index 000000000..9b9844e6a
--- /dev/null
+++ b/src/Client/Resources/Pages/Account/Register.fa.resx
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ آیا از قبل اکانت دارید؟
+
+
+ ایمیل
+
+
+ با شرایط و حریم خصوصی موافقم
+
+
+ رمز عبور
+
+
+ شماره همراه
+
+
+ ثبت نام
+
+
+ ورود
+
+
+ ثبت نام
+
+
+ نام کاربری
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Account/Reset.fa.resx b/src/Client/Resources/Pages/Account/Reset.fa.resx
new file mode 100644
index 000000000..7d497acc5
--- /dev/null
+++ b/src/Client/Resources/Pages/Account/Reset.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ با شرایط و حریم خصوصی موافقم
+
+
+ رمز عبور جدید
+
+
+ رمز عبور جدید وارد کنید
+
+
+ توکن یافت نشد!
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Authentication/Login.fa.resx b/src/Client/Resources/Pages/Authentication/Login.fa.resx
new file mode 100644
index 000000000..8ddc15f47
--- /dev/null
+++ b/src/Client/Resources/Pages/Authentication/Login.fa.resx
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ با حساب کاربری خود وارد شوید.
+
+
+ اکانتی ندارید؟
+
+
+ ایمیل
+
+
+ فیلد ایمیل اجباری است!
+
+
+ حساب کاربری بر اساس مدیر پر شود
+
+
+ حساب کاربری بر اساس کاربر عادی پر شود
+
+
+ رمز عبور خود را فراموش کردید؟
+
+
+ رمز عبور
+
+
+ فیلد رمز عبور اجباری است
+
+
+ اینجا ثبت نام کنید
+
+
+ مرا به خاطر بسپار؟
+
+
+ ورود
+
+
+ عنوان
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Authentication/Register.fa.resx b/src/Client/Resources/Pages/Authentication/Register.fa.resx
new file mode 100644
index 000000000..2fe8e91ae
--- /dev/null
+++ b/src/Client/Resources/Pages/Authentication/Register.fa.resx
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ آیا از قبل اکانتی دارید؟
+
+
+ تایید رمز عبور
+
+
+ ایمیل
+
+
+ نام
+
+
+ نام خانوادگی
+
+
+ رمز عبور
+
+
+ شماره همراه
+
+
+ ثبت نام
+
+
+ ورود
+
+
+ نام کاربری
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Catalog/AddEditBrandModal.fa.resx b/src/Client/Resources/Pages/Catalog/AddEditBrandModal.fa.resx
new file mode 100644
index 000000000..31a5d35e7
--- /dev/null
+++ b/src/Client/Resources/Pages/Catalog/AddEditBrandModal.fa.resx
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ برند جدید
+
+
+ برند ذخیره شد!
+
+
+ برند به روز رسانی شد!
+
+
+ لغو
+
+
+ توضیحات
+
+
+ شناسه
+
+
+ نام
+
+
+ ذخیره
+
+
+ مالیات
+
+
+ به روز رسانی
+
+
+ به روز رسانی برند
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Catalog/Brands.fa.resx b/src/Client/Resources/Pages/Catalog/Brands.fa.resx
new file mode 100644
index 000000000..adcaa88e2
--- /dev/null
+++ b/src/Client/Resources/Pages/Catalog/Brands.fa.resx
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیاتها
+
+
+ برند جدید
+
+
+ حاشیه قرار داده شد
+
+
+ برندها
+
+
+ برندها حروجی گرفته شد
+
+
+ جدید
+
+
+ حذف
+
+
+ حذف محتوا
+
+
+ تراکم
+
+
+ توضیحات
+
+
+ ویرایش
+
+
+ خروجی
+
+
+ برندهای فیلتر شده حروجی گرفته شد
+
+
+ شناسه
+
+
+ وارد کردن
+
+
+ مدیریت برند.
+
+
+ نام
+
+
+ هیچ اقدام مجاز نیست
+
+
+ بارگذاری مجدد
+
+
+ جستجو در برندها
+
+
+ راه راه
+
+
+ مالیات
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Catalog/Products.fa.resx b/src/Client/Resources/Pages/Catalog/Products.fa.resx
new file mode 100644
index 000000000..f36576b2f
--- /dev/null
+++ b/src/Client/Resources/Pages/Catalog/Products.fa.resx
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیاتها
+
+
+ بارکد
+
+
+ حاشیه قرار داده شد
+
+
+ برند
+
+
+ ثبت
+
+
+ حذف
+
+
+ حذف محتوا
+
+
+ تراکم
+
+
+ توضیحات
+
+
+ ویرایش
+
+
+ خروجی
+
+
+ محصولات فیلتر شده حروجی گرفته شد
+
+
+ شناسه
+
+
+ مدیریت محصولات.
+
+
+ نام
+
+
+ هیچ اقدام مجاز نیست
+
+
+ محصولات
+
+
+ خروجی محصولات گرفته شد.
+
+
+ امتیاز
+
+
+ بارگذاری مجدد
+
+
+ جستجو
+
+
+ راه راه
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Communication/Chat.fa.resx b/src/Client/Resources/Pages/Communication/Chat.fa.resx
new file mode 100644
index 000000000..30bb21f0d
--- /dev/null
+++ b/src/Client/Resources/Pages/Communication/Chat.fa.resx
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ چت
+
+
+ مخاطب
+
+
+ راهنمای دقیق برای اطلاعات بیشتر.
+
+
+ پیام خود را وارد کنید...
+
+
+ وارد شده.
+
+
+ از سیستم خارج شد.
+
+
+ پیام جدید از {0}
+
+
+ ارسال
+
+
+ آیا می خواهید بدانید که چت چگونه در BlazorHero پیاده سازی می شود؟ به این مراجعه کنید
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Content/Dashboard.fa.resx b/src/Client/Resources/Pages/Content/Dashboard.fa.resx
new file mode 100644
index 000000000..c5037ec66
--- /dev/null
+++ b/src/Client/Resources/Pages/Content/Dashboard.fa.resx
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ Apr
+
+
+ Aug
+
+
+ برندها
+
+
+ نمودارها به زودی منتشر می شوند ...
+
+
+ داشبورد
+
+
+ Dec
+
+
+ ویژگی های توسعه یافته سند
+
+
+ نوع مستند
+
+
+ مستندات
+
+
+ Feb
+
+
+ Jan
+
+
+ Jul
+
+
+ Jun
+
+
+ Mar
+
+
+ May
+
+
+ Nov
+
+
+ Oct
+
+
+ محصولات
+
+
+ Quick Insights.
+
+
+ بهروزرسانیها و اطلاعات بیدرنگ با SignalR.
+
+
+ نقش های ثبت شده
+
+
+ کاربرهای ثبت نام شده
+
+
+ Sep
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Content/Home.fa.resx b/src/Client/Resources/Pages/Content/Home.fa.resx
new file mode 100644
index 000000000..ec3e53bc4
--- /dev/null
+++ b/src/Client/Resources/Pages/Content/Home.fa.resx
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ Blazor برای مبتدیان - شروع کار با Blazor
+
+
+ Blazor Hero یک الگوی راه حل معماری تمیز همه در یک برای Blazor Web-Assembly است که با
+
+
+ ساختن یک برنامه چت با Blazor، Identity و SignalR
+
+
+ جشن 1500 ستاره در Github!
+
+
+ کتابخانه کامپوننتها
+
+
+ احراز هویت سفارشی در Blazor WebAssembly – توضیحات
+
+
+ الگوی معماری تمیز برای Blazor Web-Assembly
+
+
+ مستندات - به زودی
+
+
+ کاوش در ساختار پروژه Blazor
+
+
+ شروع کردن
+
+
+ مخزن Github: فراموش نکنید که یک ستاره بگذارید ;)
+
+
+ در اینجا چند مقاله وجود دارد که باید به شما در شروع کار با Blazor کمک کند.
+
+
+ چگونه Blazor CRUD را با استفاده از Entity Framework Core پیاده سازی کنیم؟
+
+
+ پیاده سازی Blazor CRUD با استفاده از کتابخانه مؤلفه Mudblazor در NET 5
+
+
+ لینکهای مهم
+
+
+ اگر در جایی گیر کرده اید یا سؤالی در مورد این پیاده سازی دارید، من یک راهنمای شروع سریع را برای مرجع شما گردآوری کرده ام.
+
+
+ منابع یادگیری
+
+
+ BlazorHero را دوست داشتید؟ در Github به ما ستاره دهید!
+
+
+ معماری پیاز در هسته ASP.NET با CQRS - با جزئیات
+
+
+ صفحه پروژه
+
+
+ راهنمای شروع سریع
+
+
+ راهنما را بخوانید
+
+
+ از من حمایت کن!
+
+
+ Blazor Hero
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Content/Resources.fa.resx b/src/Client/Resources/Pages/Content/Resources.fa.resx
new file mode 100644
index 000000000..af795bd1b
--- /dev/null
+++ b/src/Client/Resources/Pages/Content/Resources.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ از اینجا به منابع دسترسی پیدا کنید.
+
+
+ Awesome Blazor
+
+
+ مکان عالی برای یادگیری، یافتن اطلاعات و پروژه ها/نمونه هایی در مورد Blazor.
+
+
+ منابع
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Account.fa.resx b/src/Client/Resources/Pages/Identity/Account.fa.resx
new file mode 100644
index 000000000..a6cd73cb4
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Account.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ حساب کاربری
+
+
+ مدیرت حساب کاربری
+
+
+ پروفایل
+
+
+ امنیت
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Forgot.fa.resx b/src/Client/Resources/Pages/Identity/Forgot.fa.resx
new file mode 100644
index 000000000..8aeedd52c
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Forgot.fa.resx
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ انجام شد!
+
+
+ ایمیل
+
+
+ ایمیل را برای بازنشانی رمز عبور وارد کنید
+
+
+ رمز عبور را فراموش کرده اید؟
+
+
+ بازیابی رمز عبور
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Profile.fa.resx b/src/Client/Resources/Pages/Identity/Profile.fa.resx
new file mode 100644
index 000000000..6c01cf8db
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Profile.fa.resx
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ حذف عکس
+
+
+ حدف عکس
+
+
+ آیا می خواهید عکس نمایه {0} را حذف کنید
+
+
+ ایمیل
+
+
+ نام
+
+
+ نام خانوادگی
+
+
+ شماره همراه
+
+
+ پروفایل
+
+
+ مشخصات پروفایل
+
+
+ عکس پروفایل اضافه شد.
+
+
+ عکس پروفایل حذف شد
+
+
+ ذخیره تغییرات
+
+
+ بارگذاری عکس
+
+
+ مشخصات شما به روز شده است. لطفا برای ادامه وارد شوید.
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/RegisterUserModal.fa.resx b/src/Client/Resources/Pages/Identity/RegisterUserModal.fa.resx
new file mode 100644
index 000000000..4be1b7bb0
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/RegisterUserModal.fa.resx
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ کاربر فعال شود؟
+
+
+ تایید خودکار ایمیل؟
+
+
+ لغو
+
+
+ رمز عبور را تایید کنید
+
+
+ ایمیل
+
+
+ نام
+
+
+ نام خانوادگی
+
+
+ رمز عبور
+
+
+ شماره همراه
+
+
+ پروفایل
+
+
+ مشخصات پروفایل
+
+
+ ثبت نام
+
+
+ ثبت نام کاربر
+
+
+ ذخیره تغییرات
+
+
+ نام کاربری
+
+
+ کاربر ثبت شد!
+
+
+ کاربر ثبت شده نامه تأیید به صندوق ایمیل تحویل داده شد
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Reset.fa.resx b/src/Client/Resources/Pages/Identity/Reset.fa.resx
new file mode 100644
index 000000000..3fbe19fa1
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Reset.fa.resx
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ تایید رمز عبور
+
+
+ ایمیل
+
+
+ ایمیل را برای بازنشانی رمز عبور وارد کنید
+
+
+ رمز عبور
+
+
+ بازنشانی رمز عبور
+
+
+ توکن یافت نشد!
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/RoleModal.fa.resx b/src/Client/Resources/Pages/Identity/RoleModal.fa.resx
new file mode 100644
index 000000000..747f46442
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/RoleModal.fa.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ثبت نقش
+
+
+ لغو
+
+
+ توضیحات
+
+
+ شناسه
+
+
+ نام
+
+
+ ذخیره
+
+
+ به روز رسانی
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/RolePermissions.fa.resx b/src/Client/Resources/Pages/Identity/RolePermissions.fa.resx
new file mode 100644
index 000000000..e72ee2fdf
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/RolePermissions.fa.resx
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ همه دسترسیها
+
+
+ اعمال
+
+
+ حاشیه
+
+
+ تراکم
+
+
+ توضیحات
+
+
+ در اینجا می توانید برای این مجوز برای نقش فعلی نظر بگذارید
+
+
+ مدیریت مجوز
+
+
+ مجوزهای {0} {1} را مدیریت کنید
+
+
+ نام مجوز
+
+
+ جستجو برای مجوزها
+
+
+ وضعیت
+
+
+ Striped
+
+
+ نوع
+
+
+ مجوزهای نقش را به روز کنید
+
+
+ فقط با انتخاب مجوز ذخیره می شود
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Roles.fa.resx b/src/Client/Resources/Pages/Identity/Roles.fa.resx
new file mode 100644
index 000000000..579c8b364
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Roles.fa.resx
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیاتها
+
+
+ Bordered
+
+
+ ثبت
+
+
+ حذف
+
+
+ آیا می خواهید نقش را با شناسه {0} حذف کنید؟
+
+
+ تراکم
+
+
+ توضیحات
+
+
+ ویرایش
+
+
+ شناسه
+
+
+ مدیریت دسترسیها
+
+
+ مدیریت نقشها
+
+
+ هیچ اقدام مجاز نیست
+
+
+ بارگذاری مجدد
+
+
+ نقش
+
+
+ نقشها
+
+
+ حستحو در نقشها
+
+
+ راه راه
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Security.fa.resx b/src/Client/Resources/Pages/Identity/Security.fa.resx
new file mode 100644
index 000000000..c0784dd08
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Security.fa.resx
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ رمز عبور را تغییر دهید
+
+
+ رمز عبور فعلی
+
+
+ رمز عبور نادرست
+
+
+ رمز عبور
+
+
+ رمز عبور تغییر کرد!
+
+
+ تایید رمز عبور
+
+
+ تایید رمز عبور لازم است!
+
+
+ رمز عبور مورد نیاز است!
+
+
+ رمز عبور باید حداقل 8 باشد
+
+
+ رمز عبور باید حداقل یک حرف بزرگ داشته باشد
+
+
+ رمز عبور باید حداقل دارای یک رقم باشد
+
+
+ رمز عبور باید حداقل یک حرف کوچک داشته باشد
+
+
+ گذرواژه ها مطابقت ندارند
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/UserProfile.fa.resx b/src/Client/Resources/Pages/Identity/UserProfile.fa.resx
new file mode 100644
index 000000000..7e0822057
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/UserProfile.fa.resx
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ فعال؟
+
+
+ تنظیمات مدیر.
+
+
+ ایمیل
+
+
+ نام
+
+
+ نام خانوادگی
+
+
+ شماره همراه
+
+
+ پروفایل
+
+
+ عکس پروفایل
+
+
+ ذخیره تغییرات
+
+
+ این یک نمای فقط مدیر است.
+
+
+ وضعیت کاربر به روز شد.
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/UserRoles.fa.resx b/src/Client/Resources/Pages/Identity/UserRoles.fa.resx
new file mode 100644
index 000000000..6cd8164d7
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/UserRoles.fa.resx
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ حاشیه
+
+
+ تراکم
+
+
+ نقش های {0} {1} را مدیریت کنید
+
+
+ نام
+
+
+ Roles Updated!
+
+
+ نقش ها به روز شد!
+
+
+ وضعیت
+
+
+ راه راه
+
+
+ به روز رسانی تنقش کابران
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Identity/Users.fa.resx b/src/Client/Resources/Pages/Identity/Users.fa.resx
new file mode 100644
index 000000000..ea6c8f033
--- /dev/null
+++ b/src/Client/Resources/Pages/Identity/Users.fa.resx
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیاتها
+
+
+ فعال
+
+
+ Bordered
+
+
+ جدید
+
+
+ تراکم
+
+
+ ایمیل
+
+
+ تایید ایمیل
+
+
+ خروجی
+
+
+ خروجی کاربران فیلتر شده
+
+
+ نام
+
+
+ نام خانوادگی
+
+
+ مدیرت نقشها
+
+
+ مدیرت کاربران
+
+
+ هیچ اقدام مجاز نیست
+
+
+ مجاز نیست.
+
+
+ شماره همراه
+
+
+ ثبت نام کاربر جدید
+
+
+ بارگذاری مجدد
+
+
+ جستحو کاربران
+
+
+ راه راه
+
+
+ نام کاربری
+
+
+ کاربران
+
+
+ خروجی کاربران گرفته شد
+
+
+ نمایش پروفایل
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Misc/AddEditDocumentModal.fa.resx b/src/Client/Resources/Pages/Misc/AddEditDocumentModal.fa.resx
new file mode 100644
index 000000000..d73ccdb3b
--- /dev/null
+++ b/src/Client/Resources/Pages/Misc/AddEditDocumentModal.fa.resx
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ثبت
+
+
+ لغو
+
+
+ توضیحات
+
+
+ نوع سند
+
+
+ دانلود
+
+
+ سناسه
+
+
+ عمومی است؟
+
+
+ ذخیره
+
+
+ عنوان
+
+
+ ویرایش
+
+
+ ویرایش سند
+
+
+ آپلود
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Misc/AddEditDocumentTypeModal.fa.resx b/src/Client/Resources/Pages/Misc/AddEditDocumentTypeModal.fa.resx
new file mode 100644
index 000000000..7627e2536
--- /dev/null
+++ b/src/Client/Resources/Pages/Misc/AddEditDocumentTypeModal.fa.resx
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ ثبت
+
+
+ نوع
+
+
+ توضیحات
+
+
+ شناسه
+
+
+ نام
+
+
+ ذخیره
+
+
+ ویرایش
+
+
+ ویرایش نوع سند
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Misc/DocumentStore.fa.resx b/src/Client/Resources/Pages/Misc/DocumentStore.fa.resx
new file mode 100644
index 000000000..1f100b67b
--- /dev/null
+++ b/src/Client/Resources/Pages/Misc/DocumentStore.fa.resx
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیاتها
+
+
+ Bordered
+
+
+ باز کردن اسناد موجود
+
+
+ ثبت
+
+
+ زمن ثبت
+
+
+ حذف
+
+
+ حذف محتوا
+
+
+ تراکم
+
+
+ توضیحات
+
+
+ Document Store
+
+
+ نوع سند
+
+
+ دانلود
+
+
+ ویرایش
+
+
+ شناسه
+
+
+ عمومی است
+
+
+ مدیریت ویژگی های توسعه یافته
+
+
+ هیچ اقدام مجاز نیست
+
+
+ مالک
+
+
+ بارگذاری مجدد
+
+
+ جستجو
+
+
+ راه راه
+
+
+ عنوان
+
+
+ شما
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Misc/DocumentTypes.fa.resx b/src/Client/Resources/Pages/Misc/DocumentTypes.fa.resx
new file mode 100644
index 000000000..f14fdb09b
--- /dev/null
+++ b/src/Client/Resources/Pages/Misc/DocumentTypes.fa.resx
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ عملیاتها
+
+
+ Bordered
+
+
+ ثبت
+
+
+ حذف
+
+
+ حذف محتوا
+
+
+ تراکم
+
+
+ توضیحات
+
+
+ نوع سند
+
+
+ خروجی انواع سند گرفته شد!
+
+
+ ویرایش
+
+
+ خروجی
+
+
+ خروجی انواع اسناد فیلتر شده گرفته شد
+
+
+ شناسه
+
+
+ مدیریت انواع سند
+
+
+ نام
+
+
+ هیچ اقدام مجاز نیست
+
+
+ بارگذاری مجدد
+
+
+ جستجو برای انواع اسناد
+
+
+ راه راه
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/Utilities/AuditTrails.fa.resx b/src/Client/Resources/Pages/Utilities/AuditTrails.fa.resx
new file mode 100644
index 000000000..b0b86cacc
--- /dev/null
+++ b/src/Client/Resources/Pages/Utilities/AuditTrails.fa.resx
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ Audit Trails
+
+
+ Audit Trails exported
+
+
+ حاشیه زدن
+
+
+ لعو
+
+
+ پاک کردن
+
+
+ Columns Affected
+
+
+ تاریخ
+
+
+ محدوده تاریخ برای جستجو
+
+
+ تراکم
+
+
+ جزئیات شناسه مسیر
+
+
+ خروجی اکسل
+
+
+ Filtered Audit Trails exported
+
+
+ مخفی کردن
+
+
+ شناسه
+
+
+ Local
+
+
+ مقدار جدید
+
+
+ Ok
+
+
+ مقدار قبلی
+
+
+ کلید اصلی
+
+
+ جستجو مسیرها
+
+
+ جستجو بر اساس مقدار جدید
+
+
+ جستجو بر اساس مقدار قبلی
+
+
+ نمایش
+
+
+ Striped
+
+
+ نام جدول
+
+
+ Trail Details
+
+
+ نوع
+
+
+ UTC
+
+
+ فعالیت های اخیر شما
+
+
\ No newline at end of file
diff --git a/src/Infrastructure/Repositories/RepositoryAsync.cs b/src/Infrastructure/Repositories/RepositoryAsync.cs
index 930d6375f..d87b1756e 100644
--- a/src/Infrastructure/Repositories/RepositoryAsync.cs
+++ b/src/Infrastructure/Repositories/RepositoryAsync.cs
@@ -1,20 +1,27 @@
-using BlazorHero.CleanArchitecture.Application.Interfaces.Repositories;
+using BlazorHero.CleanArchitecture.Application.Exceptions;
+using BlazorHero.CleanArchitecture.Application.Interfaces.Repositories;
using BlazorHero.CleanArchitecture.Domain.Contracts;
using BlazorHero.CleanArchitecture.Infrastructure.Contexts;
using Microsoft.EntityFrameworkCore;
+using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
+using System.Linq.Expressions;
using System.Threading.Tasks;
namespace BlazorHero.CleanArchitecture.Infrastructure.Repositories
{
- public class RepositoryAsync : IRepositoryAsync where T : AuditableEntity
+ public class RepositoryAsync : IRepositoryAsync where T : AuditableEntity, IEntity
{
private readonly BlazorHeroContext _dbContext;
+ private DbSet Entity { get; }
public RepositoryAsync(BlazorHeroContext dbContext)
{
_dbContext = dbContext;
+ Entity = _dbContext.Set();
+
}
public IQueryable Entities => _dbContext.Set();
@@ -25,18 +32,6 @@ public async Task AddAsync(T entity)
return entity;
}
- public Task DeleteAsync(T entity)
- {
- _dbContext.Set().Remove(entity);
- return Task.CompletedTask;
- }
-
- public async Task> GetAllAsync()
- {
- return await _dbContext
- .Set()
- .ToListAsync();
- }
public async Task GetByIdAsync(TId id)
{
@@ -53,11 +48,285 @@ public async Task> GetPagedResponseAsync(int pageNumber, int pageSize)
.ToListAsync();
}
- public Task UpdateAsync(T entity)
+
+
+ public int Count()
+ {
+ return this.Entity.Count();
+ }
+
+ public int Count(Expression> predicate)
+ {
+ return this.Entity.Where(predicate).Count();
+ }
+
+ public async Task CountAsync()
+ {
+ return await this.Entity.CountAsync();
+ }
+
+ public async Task CountAsync(Expression> predicate)
+ {
+ return await this.Entity.Where(predicate).CountAsync();
+ }
+
+ public void Delete(T entity)
+ {
+ this.Entity.Remove(entity);
+ this._dbContext.SaveChanges();
+ }
+
+ public void Delete(TId id)
+ {
+ this.Entity.Remove(this.Entity.Find(id));
+ this._dbContext.SaveChanges();
+ }
+
+ public void Delete(Expression> predicate)
+ {
+ this.Entity.RemoveRange(this.Entity.Where(predicate));
+ this._dbContext.SaveChanges();
+ }
+
+ public async Task DeleteAsync(T entity)
+ {
+ this.Entity.Remove(entity);
+ await this._dbContext.SaveChangesAsync();
+ }
+
+ public async Task DeleteAsync(TId id)
+ {
+ this.Entity.Remove(this.Entity.Find(id));
+ await this._dbContext.SaveChangesAsync();
+ }
+
+ public async Task DeleteAsync(Expression> predicate)
+ {
+ this.Entity.RemoveRange(this.Entity.Where(predicate));
+ await this._dbContext.SaveChangesAsync();
+ }
+
+ public T FirstOrDefault(TId id)
+ {
+ return this.Entity.FirstOrDefault(CreateEqualityExpressionForId(id));
+ }
+
+ public T FirstOrDefault(Expression> predicate)
+ {
+ return this.Entity.FirstOrDefault(predicate);
+ }
+
+ public async Task FirstOrDefaultAsync(TId id)
+ {
+ return await this.Entity.FirstOrDefaultAsync(CreateEqualityExpressionForId(id));
+ }
+
+ public async Task FirstOrDefaultAsync(Expression> predicate)
+ {
+ return await this.Entity.FirstOrDefaultAsync(predicate);
+ }
+
+ public T Get(TId id)
+ {
+ return this.Entity.Find(id);
+ }
+
+ public IQueryable GetAll()
+ {
+ return GetAllIncluding();
+ }
+
+
+ public async Task> GetAllAsync()
+ {
+ return await GetAllIncludingAsync();
+ }
+
+ public async Task> GetAllIncludingAsync(
+ params Expression>[] propertySelectors)
+ {
+ var query = GetAll();
+ //await GetQueryableAsync();
+
+ if (propertySelectors == null || propertySelectors.Length == 0)
+ {
+ return query;
+ }
+
+ foreach (var propertySelector in propertySelectors)
+ {
+ query = query.Include(propertySelector);
+ }
+
+ return query;
+ }
+
+
+ public IQueryable GetAllIncluding(params Expression>[] propertySelectors)
+ {
+ var query = this.Entity.AsQueryable();
+
+ if (propertySelectors == null || propertySelectors.Length == 0)
+ {
+ return query;
+ }
+
+ foreach (var propertySelector in propertySelectors)
+ {
+ query = query.Include(propertySelector);
+ }
+
+ return query;
+ }
+
+ public List GetAllList()
+ {
+ return GetAll().ToList();
+ }
+
+ public List GetAllList(Expression> predicate)
+ {
+ return GetAll().Where(predicate).ToList();
+ }
+
+ public async Task> GetAllListAsync()
+ {
+ return await GetAll().ToListAsync();
+ }
+
+ public async Task> GetAllListAsync(Expression> predicate)
+ {
+ return await GetAll().Where(predicate).ToListAsync();
+ }
+
+ public async Task GetAsync(TId id)
+ {
+ var entity = await FirstOrDefaultAsync(id);
+ return entity ?? throw new EntityNotFoundException(typeof(T), id);
+ }
+
+ public T Insert(T entity)
+ {
+ return this.Entity.Add(entity).Entity;
+ }
+
+ public TId InsertAndGetId(T entity)
+ {
+ entity = Insert(entity);
+ this._dbContext.SaveChanges();
+ return entity.Id;
+ }
+
+ public async Task InsertAndGetIdAsync(T entity)
{
- T exist = _dbContext.Set().Find(entity.Id);
- _dbContext.Entry(exist).CurrentValues.SetValues(entity);
- return Task.CompletedTask;
+ entity = await InsertAsync(entity);
+ await this._dbContext.SaveChangesAsync();
+ return entity.Id;
}
+
+ public async Task InsertAsync(T entity)
+ {
+ var result = (await this.Entity.AddAsync(entity)).Entity;
+ await this._dbContext.SaveChangesAsync();
+ return result;
+
+ }
+
+
+ public T Load(TId id)
+ {
+ return Get(id);
+ }
+
+ public long LongCount()
+ {
+ return GetAll().LongCount();
+ }
+
+ public long LongCount(Expression> predicate)
+ {
+ return GetAll().LongCount(predicate);
+ }
+
+ public async Task LongCountAsync()
+ {
+ return await GetAll().LongCountAsync();
+ }
+
+ public async Task LongCountAsync(Expression> predicate)
+ {
+ return await GetAll().LongCountAsync(predicate);
+ }
+
+ //public T Query(Func, T> queryMethod)
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ public T Single(Expression> predicate)
+ {
+ return GetAll().Single(predicate);
+ }
+
+ public async Task SingleAsync(Expression> predicate)
+ {
+ return await (await GetAllAsync()).SingleAsync(predicate);
+ }
+
+ public T Update(T entity)
+ {
+ AttachIfNot(entity);
+ this._dbContext.Entry(entity).State = EntityState.Modified;
+ return entity;
+ }
+
+ public T Update(TId id, Action updateAction)
+ {
+ var entity = Get(id);
+ updateAction(entity);
+ return entity;
+ }
+
+ public Task UpdateAsync(T entity)
+ {
+ return Task.FromResult(Update(entity));
+ }
+
+ public async Task UpdateAsync(TId id, Func updateAction)
+ {
+ var entity = await GetAsync(id);
+ await updateAction(entity);
+ return entity;
+ }
+
+
+ protected virtual Expression> CreateEqualityExpressionForId(TId id)
+ {
+ var lambdaParam = Expression.Parameter(typeof(T));
+
+ var leftExpression = Expression.PropertyOrField(lambdaParam, "Id");
+
+ var idValue = Convert.ChangeType(id, typeof(TId));
+
+ Expression> closure = () => idValue;
+ var rightExpression = Expression.Convert(closure.Body, leftExpression.Type);
+
+ var lambdaBody = Expression.Equal(leftExpression, rightExpression);
+
+ return Expression.Lambda>(lambdaBody, lambdaParam);
+ }
+
+
+ protected virtual void AttachIfNot(T entity)
+ {
+ var entry = this._dbContext.ChangeTracker.Entries().FirstOrDefault(ent => ent.Entity == entity);
+ if (entry != null)
+ {
+ return;
+ }
+
+ this.Entity.Attach(entity);
+ }
+
}
}
\ No newline at end of file
diff --git a/src/Infrastructure/Resources/DatabaseSeeder.fa.resx b/src/Infrastructure/Resources/DatabaseSeeder.fa.resx
new file mode 100644
index 000000000..2c905d190
--- /dev/null
+++ b/src/Infrastructure/Resources/DatabaseSeeder.fa.resx
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ نقش مدیر با مجوزهای کامل
+
+
+ نقش اصلی با مجوزهای پیش فرض
+
+
+ نقش مدیر اولیه.
+
+
+ نقش اساسی اولیه.
+
+
+ کاربر پیش فرض SuperAdmin Seeded.
+
+
+ کاربر با نقش اولیه.
+
+
\ No newline at end of file
diff --git a/src/Infrastructure/Resources/Services/AuditService.fa.resx b/src/Infrastructure/Resources/Services/AuditService.fa.resx
new file mode 100644
index 000000000..ee4f89da1
--- /dev/null
+++ b/src/Infrastructure/Resources/Services/AuditService.fa.resx
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ Audit trails
+
+
+ زمان (Local)
+
+
+ زمان (UTC)
+
+
+ مقدار جدید
+
+
+ مقدار قبلی
+
+
+ کلید جدول
+
+
+ نام جدول
+
+
+ نوع
+
+
\ No newline at end of file
diff --git a/src/Infrastructure/Resources/Services/ChatService.fa.resx b/src/Infrastructure/Resources/Services/ChatService.fa.resx
new file mode 100644
index 000000000..f5fd8b1b7
--- /dev/null
+++ b/src/Infrastructure/Resources/Services/ChatService.fa.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ کاربر یافت نشد!
+
+
\ No newline at end of file
diff --git a/src/Infrastructure/Resources/Services/ExcelService.fa.resx b/src/Infrastructure/Resources/Services/ExcelService.fa.resx
new file mode 100644
index 000000000..f8fdf690b
--- /dev/null
+++ b/src/Infrastructure/Resources/Services/ExcelService.fa.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ Audit Trails
+
+
+ سرصفحه "{0}" در جدول وجود ندارد!
+
+
+ عملیات وارد کردن اطلاعات با موفقیت انچام شد
+
+
+ برگه با نام {0} وجود ندارد!
+
+
\ No newline at end of file
diff --git a/src/Server/Resources/Localization/ServerCommonResources.fa.resx b/src/Server/Resources/Localization/ServerCommonResources.fa.resx
new file mode 100644
index 000000000..80a30c659
--- /dev/null
+++ b/src/Server/Resources/Localization/ServerCommonResources.fa.resx
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ خطای کنترل نشده رخ داده است.
+
+
+ Authorization
+
+
+ Input your Bearer token in this format - Bearer {your token here} to access this API
+
+
+ توکن منقضی شده است.
+
+
+ شما مجاز به دسترسی به این منبع نیستید.
+
+
+ شما مجاز نیستید.
+
+
\ No newline at end of file
diff --git a/src/Server/Resources/Managers/Preferences/ServerPreferenceManager.fa.resx b/src/Server/Resources/Managers/Preferences/ServerPreferenceManager.fa.resx
new file mode 100644
index 000000000..2645e7d2d
--- /dev/null
+++ b/src/Server/Resources/Managers/Preferences/ServerPreferenceManager.fa.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
+
+
+ تنظیمات preference از سرور دریافت نشد.
+
+
+ زبان سرور تغییر کرد
+
+
\ No newline at end of file
diff --git a/src/Server/Resources/Startup.fa.resx b/src/Server/Resources/Startup.fa.resx
new file mode 100644
index 000000000..94c090e16
--- /dev/null
+++ b/src/Server/Resources/Startup.fa.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ BlazorHero Jobs
+
+
\ No newline at end of file
diff --git a/src/Shared/Constants/Localization/LocalizationConstants.cs b/src/Shared/Constants/Localization/LocalizationConstants.cs
index da4a128e9..ead63b095 100644
--- a/src/Shared/Constants/Localization/LocalizationConstants.cs
+++ b/src/Shared/Constants/Localization/LocalizationConstants.cs
@@ -57,6 +57,11 @@ public static class LocalizationConstants
{
Code = "ar",
DisplayName = "عربي"
+ },
+ new LanguageCode
+ {
+ Code = "fa-IR",
+ DisplayName = "فارسی"
}
};
}