ow
This commit is contained in:
1 parent
fcbeba7287
commit
f2f5807372
33 files changed
+1399
-1444
No files matched your search
@@ -87,17 +87,17 @@ namespace CloudBuilder.Core.Application.Builders
|
||||
return this;
|
||||
}
|
||||
|
||||
public T GetTransientService<T>()
|
||||
{
|
||||
object? t = Services.BuildServiceProvider().GetService(typeof(T));
|
||||
if (t == null) return default(T)!;
|
||||
return (T)t;
|
||||
}
|
||||
//public T GetTransientService<T>()
|
||||
//{
|
||||
// object? t = Services.BuildServiceProvider().GetService(typeof(T));
|
||||
// if (t == null) return default(T)!;
|
||||
// return (T)t;
|
||||
//}
|
||||
|
||||
public T GetTransientRequiredService<T>()
|
||||
{
|
||||
return (T)Services.BuildServiceProvider().GetRequiredService(typeof(T));
|
||||
}
|
||||
//public T GetTransientRequiredService<T>()
|
||||
//{
|
||||
// return (T)Services.BuildServiceProvider().GetRequiredService(typeof(T));
|
||||
//}
|
||||
|
||||
public static Assembly[] GetAssemblies()
|
||||
{
|
||||
|
||||
@@ -41,19 +41,6 @@ namespace CloudBuilder.Core.Application.Packs
|
||||
|
||||
services.AddScoped<IApplicationService, ApplicationService>();
|
||||
|
||||
//services.TryAddSingleton<IInputDtoTypeFinder, InputDtoTypeFinder>();
|
||||
//services.TryAddSingleton<IOutputDtoTypeFinder, OutputDtoTypeFinder>();
|
||||
//services.TryAddSingleton<ICancellationTokenProvider, NoneCancellationTokenProvider>();
|
||||
//services.TryAddSingleton<IEmailSender, DefaultEmailSender>();
|
||||
|
||||
//services.TryAddSingleton<ICacheService, CacheService>();
|
||||
//services.TryAddScoped<IFilterService, FilterService>();
|
||||
|
||||
//services.TryAddTransient<IClientHttpCrypto, ClientHttpCrypto>();
|
||||
//services.AddTransient<ClientHttpCryptoHandler>();
|
||||
|
||||
//services.AddDistributedMemoryCache();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,15 @@ namespace CloudBuilder.Core.DatabaseAccessor
|
||||
{
|
||||
public class ApplicationService : IApplicationService
|
||||
{
|
||||
/// <summary>
|
||||
/// 显式赋值的登录Id(登录流程/桌面端会主动赋值),为空时按当前请求的令牌解析
|
||||
/// </summary>
|
||||
private string? userId;
|
||||
|
||||
/// <summary>
|
||||
/// 显式赋值的语言,为空时按当前请求的报文头解析
|
||||
/// </summary>
|
||||
private string? locale;
|
||||
|
||||
public ApplicationService(
|
||||
CloudBuilderBuilder cloudBuilder,
|
||||
@@ -29,23 +38,47 @@ namespace CloudBuilder.Core.DatabaseAccessor
|
||||
this.ServiceProvider = serviceProvider;
|
||||
this.UnitOfWork = unitOfWork;
|
||||
this.HttpContext = httpContext;
|
||||
if (httpContext.HttpContext != null)
|
||||
{
|
||||
UserId = ClaimPolicy.GetClaimValue(HttpContext, ClaimPolicy.CLAINM_USERID);
|
||||
string key = ClaimPolicy.GetHeaderKeyValue(HttpContext, ClaimPolicy.HEADER_LOCALE);
|
||||
if (!string.IsNullOrEmpty(key))
|
||||
{
|
||||
Locale = key;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public IServiceProvider ServiceProvider { get; private set; }
|
||||
|
||||
public IHttpContextAccessor HttpContext { get; private set; }
|
||||
|
||||
public string UserId { get; set; }
|
||||
public string Locale { get; set; } = ClaimPolicy.CLAINM_LOCALE;
|
||||
/// <summary>
|
||||
/// 当前登录Id:取自当前请求的令牌,每次访问都重新解析
|
||||
/// (不能在构造函数中缓存,否则实例被长生命周期对象持有时会一直返回上一个登录用户)
|
||||
/// </summary>
|
||||
public string UserId
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!string.IsNullOrEmpty(userId)) return userId!;
|
||||
if (HttpContext?.HttpContext == null) return string.Empty;
|
||||
return ClaimPolicy.GetClaimValue(HttpContext, ClaimPolicy.CLAINM_USERID);
|
||||
}
|
||||
set
|
||||
{
|
||||
userId = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前语言:取自当前请求的报文头,每次访问都重新解析
|
||||
/// </summary>
|
||||
public string Locale
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!string.IsNullOrEmpty(locale)) return locale!;
|
||||
if (HttpContext?.HttpContext == null) return ClaimPolicy.CLAINM_LOCALE;
|
||||
string key = ClaimPolicy.GetHeaderKeyValue(HttpContext, ClaimPolicy.HEADER_LOCALE);
|
||||
return string.IsNullOrEmpty(key) ? ClaimPolicy.CLAINM_LOCALE : key;
|
||||
}
|
||||
set
|
||||
{
|
||||
locale = value;
|
||||
}
|
||||
}
|
||||
public IUnitOfWork UnitOfWork { get; set; }
|
||||
public CloudBuilderBuilder CloudBuilder { get; set; }
|
||||
public IConfiguration Configuration { get; private set; }
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace CloudBuilder.Gui
|
||||
private int OrgLimit;
|
||||
public int CurrentPage { get; set; } = 0;
|
||||
public int Page { get; set; } = 0;
|
||||
public int Total { get; set; } = 0;
|
||||
public long Total { get; set; } = 0;
|
||||
|
||||
public GridViewPagination()
|
||||
{
|
||||
@@ -39,8 +39,11 @@ namespace CloudBuilder.Gui
|
||||
limitTxt.Text = limit.ToString();
|
||||
Limit = limit;
|
||||
}
|
||||
|
||||
public void SetTotal(int total)
|
||||
{
|
||||
SetTotal(long.Parse(total.ToString()));
|
||||
}
|
||||
public void SetTotal(long total)
|
||||
{
|
||||
this.Total = total;
|
||||
if (Limit > 0)
|
||||
|
||||
@@ -117,9 +117,24 @@ namespace CloudBuilder.Master.Service
|
||||
|
||||
if (d == null) return data;
|
||||
|
||||
IRepository<FamilyTreePermissionUserViewEntity> repositoryPermission = repository.GetRepository<IRepository<FamilyTreePermissionUserViewEntity>>();
|
||||
|
||||
|
||||
data.FamilyTree = new FamilyTreeDisplayData(d);
|
||||
data.CurrentPerson = new FamilyPersonData();
|
||||
|
||||
data.FamilyTreePermissions = repositoryPermission.DetachedEntities.Where(x => x.TreeId == key).ToArray();
|
||||
|
||||
if (data.FamilyTreePermissions.Any())
|
||||
{
|
||||
data.IsManager = data.FamilyTreePermissions.Where(x => x.UserName == service.UserId && x.ManagerIndc == YesNoPolicy.YES).Any();
|
||||
}
|
||||
|
||||
if(!data.IsManager && data.FamilyTreePermissions.Any())
|
||||
{
|
||||
data.FamilyTreePermissions = data.FamilyTreePermissions.Where(x => x.UserName == service.UserId && x.ValidIndc == YesNoPolicy.NO).ToArray();
|
||||
}
|
||||
|
||||
IRepository<FamilyPersonEntity> repositoryFamilyPerson = repository.GetRepository<IRepository<FamilyPersonEntity>>();
|
||||
|
||||
var currentPerson = personId;
|
||||
@@ -248,6 +263,21 @@ namespace CloudBuilder.Master.Service
|
||||
|
||||
repository.InsertNow(d);
|
||||
|
||||
FamilyTreePermissionEntity treePermissionEntity = new FamilyTreePermissionEntity();
|
||||
treePermissionEntity.TreeId = d.TreeId;
|
||||
treePermissionEntity.PersonId = d.AncestorPersonId;
|
||||
treePermissionEntity.UserName = service.UserId;
|
||||
treePermissionEntity.ManagerIndc = YesNoPolicy.YES;
|
||||
treePermissionEntity.ValidIndc = YesNoPolicy.YES;
|
||||
InsertFamilyTreePermission(treePermissionEntity);
|
||||
|
||||
IRepository<FamilyPersonEntity> repositoryPerson = repository.GetRepository<IRepository<FamilyPersonEntity>>();
|
||||
FamilyPersonEntity familyPerson;
|
||||
|
||||
familyPerson = repositoryPerson.DetachedEntities.Where(x => x.PersonId == d.AncestorPersonId).FirstOrDefault()!;
|
||||
familyPerson.TreeId = d.TreeId;
|
||||
repositoryPerson.UpdateNow(familyPerson);
|
||||
|
||||
var currentPerson = d.AncestorPersonId;
|
||||
|
||||
if (data.CurrentPerson != null && data.CurrentPerson.FamilyPerson != null && !string.IsNullOrEmpty(data.CurrentPerson.FamilyPerson.PersonId))
|
||||
@@ -268,16 +298,74 @@ namespace CloudBuilder.Master.Service
|
||||
return FindByCurrentPerson(d.TreeId, currentPerson);
|
||||
}
|
||||
|
||||
|
||||
public void InsertFamilyTreePermission(FamilyTreePermissionEntity treePermissionEntity)
|
||||
{
|
||||
IRepository<FamilyTreePermissionEntity> repositoryPermission = repository.GetRepository<IRepository<FamilyTreePermissionEntity>>();
|
||||
repositoryPermission.InsertNow(treePermissionEntity);
|
||||
}
|
||||
|
||||
[PermissionOperate(name: MasterPermissionPolicy.FamilyTree, operate: Operate.Find)]
|
||||
[UnitOfWork]
|
||||
public void RequestFamilyTreePermission(string treeId, string currentPersonId)
|
||||
{
|
||||
IRepository<FamilyTreePermissionEntity> repositoryPermission = repository.GetRepository<IRepository<FamilyTreePermissionEntity>>();
|
||||
FamilyTreePermissionEntity treePermissionEntity = repositoryPermission.DetachedEntities.Where(x => x.TreeId == treeId && x.PersonId == currentPersonId && service.UserId == x.UserName).FirstOrDefault()!;
|
||||
|
||||
if (treePermissionEntity != null) return;
|
||||
|
||||
treePermissionEntity = new FamilyTreePermissionEntity();
|
||||
treePermissionEntity.TreeId = treeId;
|
||||
treePermissionEntity.PersonId = currentPersonId;
|
||||
treePermissionEntity.UserName = service.UserId;
|
||||
treePermissionEntity.ManagerIndc = YesNoPolicy.NO;
|
||||
treePermissionEntity.ValidIndc = YesNoPolicy.NO;
|
||||
InsertFamilyTreePermission(treePermissionEntity);
|
||||
}
|
||||
|
||||
[PermissionOperate(name: MasterPermissionPolicy.FamilyTree, operate: Operate.Find)]
|
||||
[UnitOfWork]
|
||||
public void ApproveFamilyTreePermission(string treeId, string currentPersonId, string userName, string managerIndc)
|
||||
{
|
||||
IRepository<FamilyTreePermissionEntity> repositoryPermission = repository.GetRepository<IRepository<FamilyTreePermissionEntity>>();
|
||||
FamilyTreePermissionEntity treePermissionEntity = repositoryPermission.DetachedEntities.Where(x => x.TreeId == treeId && x.PersonId == currentPersonId && userName == x.UserName).FirstOrDefault()!;
|
||||
if (treePermissionEntity == null) return;
|
||||
|
||||
treePermissionEntity.ManagerIndc = managerIndc;
|
||||
treePermissionEntity.ValidIndc = YesNoPolicy.YES;
|
||||
|
||||
repositoryPermission.UpdateNow(treePermissionEntity);
|
||||
}
|
||||
|
||||
[PermissionOperate(name: MasterPermissionPolicy.FamilyTree, operate: Operate.Find)]
|
||||
[UnitOfWork]
|
||||
public void RejectFamilyTreePermission(string treeId, string currentPersonId, string userName)
|
||||
{
|
||||
IRepository<FamilyTreePermissionEntity> repositoryPermission = repository.GetRepository<IRepository<FamilyTreePermissionEntity>>();
|
||||
FamilyTreePermissionEntity treePermissionEntity = repositoryPermission.DetachedEntities.Where(x => x.TreeId == treeId && x.PersonId == currentPersonId && userName == x.UserName).FirstOrDefault()!;
|
||||
if (treePermissionEntity == null) return;
|
||||
|
||||
repositoryPermission.DeleteNow(treePermissionEntity);
|
||||
}
|
||||
|
||||
private void SaveSpouseMaps(string personId, FamilyTreeSpouseMapViewEntity[] maps)
|
||||
{
|
||||
IRepository<FamilyTreeSpouseMapViewEntity> repositoryMapView = repository.GetRepository<IRepository<FamilyTreeSpouseMapViewEntity>>();
|
||||
IRepository<FamilyTreeSpouseMapEntity> repositoryMap = repository.GetRepository<IRepository<FamilyTreeSpouseMapEntity>>();
|
||||
IRepository<FamilyPersonEntity> repositoryPerson = repository.GetRepository<IRepository<FamilyPersonEntity>>();
|
||||
FamilyPersonEntity familyPerson;
|
||||
|
||||
FamilyTreeSpouseMapViewEntity[] olds = repositoryMapView.Entities.Where(x => x.PersonId == personId).ToArray();
|
||||
if (olds != null && olds.Length > 0)
|
||||
{
|
||||
foreach (FamilyTreeSpouseMapViewEntity old in olds)
|
||||
{
|
||||
familyPerson = repositoryPerson.DetachedEntities.Where(x => x.PersonId == old.PersonId).FirstOrDefault()!;
|
||||
if (familyPerson != null)
|
||||
{
|
||||
repositoryPerson.DeleteNow(familyPerson);
|
||||
}
|
||||
|
||||
repositoryMap.DeleteNow(new FamilyTreeSpouseMapEntity()
|
||||
{
|
||||
TreeId = old.TreeId,
|
||||
@@ -289,8 +377,16 @@ namespace CloudBuilder.Master.Service
|
||||
|
||||
if (maps == null || maps.Length == 0) return;
|
||||
int i = 1;
|
||||
|
||||
foreach (FamilyTreeSpouseMapViewEntity map in maps.OrderBy(x => x.Orderby).ToArray())
|
||||
{
|
||||
familyPerson = repositoryPerson.DetachedEntities.Where(x => x.PersonId == map.PersonId && string.IsNullOrEmpty(x.TreeId)).FirstOrDefault()!;
|
||||
if (familyPerson != null)
|
||||
{
|
||||
familyPerson.TreeId = map.TreeId;
|
||||
repositoryPerson.Update(familyPerson);
|
||||
}
|
||||
|
||||
repositoryMap.InsertNow(new FamilyTreeSpouseMapEntity()
|
||||
{
|
||||
TreeId = map.TreeId,
|
||||
@@ -309,55 +405,25 @@ namespace CloudBuilder.Master.Service
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveParentMaps(string personId, FamilyTreeChildrenMapViewEntity[] maps)
|
||||
{
|
||||
IRepository<FamilyTreeChildrenMapViewEntity> repositoryMapView = repository.GetRepository<IRepository<FamilyTreeChildrenMapViewEntity>>();
|
||||
IRepository<FamilyTreeChildrenMapEntity> repositoryMap = repository.GetRepository<IRepository<FamilyTreeChildrenMapEntity>>();
|
||||
FamilyTreeChildrenMapViewEntity[] olds = repositoryMapView.Entities.Where(x => x.ChildrenId == personId).ToArray();
|
||||
if (olds != null && olds.Length > 0)
|
||||
{
|
||||
foreach (FamilyTreeChildrenMapViewEntity old in olds)
|
||||
{
|
||||
repositoryMap.DeleteNow(new FamilyTreeChildrenMapEntity()
|
||||
{
|
||||
TreeId = old.TreeId,
|
||||
ChildrenId = personId,
|
||||
PersonId = old.PersonId
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (maps == null || maps.Length == 0) return;
|
||||
|
||||
int maxOrderBy = 0;
|
||||
foreach (FamilyTreeChildrenMapViewEntity map in maps)
|
||||
{
|
||||
FamilyTreeChildrenMapViewEntity[] oldMaps = repositoryMapView.Entities.Where(x => x.PersonId == map.PersonId).ToArray();
|
||||
|
||||
if (oldMaps != null && oldMaps.Count() > 0) maxOrderBy = oldMaps.Max(x => x.Orderby);
|
||||
|
||||
repositoryMap.InsertNow(new FamilyTreeChildrenMapEntity()
|
||||
{
|
||||
TreeId = map.TreeId,
|
||||
ChildrenId = personId,
|
||||
PersonId = map.PersonId,
|
||||
Orderby = oldMaps == null ? 1 : maxOrderBy + 1
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void SaveSonMaps(string personId, FamilyTreeChildrenMapViewEntity[] maps)
|
||||
{
|
||||
IRepository<FamilyTreeChildrenMapViewEntity> repositoryMapView = repository.GetRepository<IRepository<FamilyTreeChildrenMapViewEntity>>();
|
||||
IRepository<FamilyTreeChildrenMapEntity> repositoryMap = repository.GetRepository<IRepository<FamilyTreeChildrenMapEntity>>();
|
||||
IRepository<FamilyPersonEntity> repositoryPerson = repository.GetRepository<IRepository<FamilyPersonEntity>>();
|
||||
FamilyPersonEntity familyPerson;
|
||||
|
||||
FamilyTreeChildrenMapViewEntity[] olds = repositoryMapView.Entities.Where(x => x.PersonId == personId).ToArray();
|
||||
if (olds != null && olds.Length > 0)
|
||||
{
|
||||
foreach (FamilyTreeChildrenMapViewEntity old in olds)
|
||||
{
|
||||
familyPerson = repositoryPerson.DetachedEntities.Where(x => x.PersonId == old.PersonId).FirstOrDefault()!;
|
||||
if (familyPerson != null)
|
||||
{
|
||||
repositoryPerson.DeleteNow(familyPerson);
|
||||
}
|
||||
|
||||
repositoryMap.DeleteNow(new FamilyTreeChildrenMapEntity()
|
||||
{
|
||||
TreeId = old.TreeId,
|
||||
@@ -369,8 +435,16 @@ namespace CloudBuilder.Master.Service
|
||||
|
||||
if (maps == null || maps.Length == 0) return;
|
||||
int i = 1;
|
||||
|
||||
foreach (FamilyTreeChildrenMapViewEntity map in maps.OrderBy(x => x.Orderby).ToArray())
|
||||
{
|
||||
familyPerson = repositoryPerson.DetachedEntities.Where(x => x.PersonId == map.PersonId && string.IsNullOrEmpty(x.TreeId)).FirstOrDefault()!;
|
||||
if (familyPerson != null)
|
||||
{
|
||||
familyPerson.TreeId = map.TreeId;
|
||||
repositoryPerson.Update(familyPerson);
|
||||
}
|
||||
|
||||
repositoryMap.InsertNow(new FamilyTreeChildrenMapEntity()
|
||||
{
|
||||
TreeId = map.TreeId,
|
||||
@@ -439,6 +513,15 @@ namespace CloudBuilder.Master.Service
|
||||
if (ent == null) return;
|
||||
repository.DeleteNow(ent);
|
||||
|
||||
IRepository<FamilyPersonEntity> repositoryPerson = repository.GetRepository<IRepository<FamilyPersonEntity>>();
|
||||
FamilyPersonEntity familyPerson;
|
||||
|
||||
familyPerson = repositoryPerson.DetachedEntities.Where(x => x.PersonId == ent.AncestorPersonId).FirstOrDefault()!;
|
||||
if (familyPerson != null)
|
||||
{
|
||||
repositoryPerson.DeleteNow(familyPerson);
|
||||
}
|
||||
|
||||
DeleteSpouses(ent.AncestorPersonId);
|
||||
DeleteChildrens(ent.AncestorPersonId);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ namespace CloudBuilder.Master.Data
|
||||
public FamilyTreeDisplayData? FamilyTree { get; set; }
|
||||
|
||||
public FamilyPersonData? CurrentPerson { get; set; }
|
||||
|
||||
public bool IsManager { get; set; } = false;
|
||||
|
||||
public FamilyTreePermissionUserViewEntity[]? FamilyTreePermissions { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,7 @@ namespace CloudBuilder.Master.Data
|
||||
public FamilyTreeDisplayData(FamilyTreeEntity entity)
|
||||
{
|
||||
CopyFrom(entity);
|
||||
this.OrgTreeName = entity.TreeName;
|
||||
}
|
||||
|
||||
public string? AncestorPersonGenealogyName { get; set; }
|
||||
|
||||
@@ -106,7 +106,12 @@ builder.Entity<DmsFileUploadDeleteLogViewEntity>(eb => { eb.HasNoKey(); });
|
||||
|
||||
builder.Entity<DmsFileUploadDeleteLogViewEntity>(eb => { eb.HasNoKey(); });
|
||||
|
||||
//***END***
|
||||
|
||||
|
||||
builder.Entity<FamilyTreePermissionEntity>().HasKey(c => new {c.PersonId,c.TreeId,c.UserName});
|
||||
|
||||
builder.Entity<FamilyTreePermissionUserViewEntity>(eb => { eb.HasNoKey(); });
|
||||
//***END***
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace CloudBuilder.Master.Entity
|
||||
[Column("title")]
|
||||
public string? Title { get; set; }
|
||||
[Column("tree_id")]
|
||||
public string TreeId { get; set; }
|
||||
public string? TreeId { get; set; }
|
||||
[Column("updated_by")]
|
||||
public string UpdatedBy { get; set; }
|
||||
[Column("updated_datetime")]
|
||||
|
||||
@@ -0,0 +1,187 @@
|
||||
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace CloudBuilder.Master.Entity
|
||||
{
|
||||
[TypeScript]
|
||||
[Table("family_tree_permission")]
|
||||
public class FamilyTreePermissionEntity : EntityBase<FamilyTreePermissionEntityKey>
|
||||
{
|
||||
|
||||
public FamilyTreePermissionEntity()
|
||||
{
|
||||
}
|
||||
|
||||
[Column("created_by")]
|
||||
public string CreatedBy { get; set; }
|
||||
[Column("created_datetime")]
|
||||
public DateTime CreatedDatetime { get; set; }
|
||||
[Column("manager_indc")]
|
||||
public string ManagerIndc { get; set; }
|
||||
[Column("person_id")]
|
||||
public string PersonId { get; set; }
|
||||
[Column("tree_id")]
|
||||
public string TreeId { get; set; }
|
||||
[Column("updated_by")]
|
||||
public string UpdatedBy { get; set; }
|
||||
[Column("updated_datetime")]
|
||||
public DateTime UpdatedDatetime { get; set; }
|
||||
[Column("user_name")]
|
||||
public string UserName { get; set; }
|
||||
[Column("valid_indc")]
|
||||
public string ValidIndc { get; set; }
|
||||
|
||||
public const string CREATED_BY = "CreatedBy";
|
||||
public const string CREATED_DATETIME = "CreatedDatetime";
|
||||
public const string MANAGER_INDC = "ManagerIndc";
|
||||
public const string PERSON_ID = "PersonId";
|
||||
public const string TREE_ID = "TreeId";
|
||||
public const string UPDATED_BY = "UpdatedBy";
|
||||
public const string UPDATED_DATETIME = "UpdatedDatetime";
|
||||
public const string USER_NAME = "UserName";
|
||||
public const string VALID_INDC = "ValidIndc";
|
||||
|
||||
public const string DB_NAME_FAMILY_TREE_PERMISSION = "family_tree_permission";
|
||||
public const string DB_NAME_FIELDS="created_by,created_datetime,manager_indc,person_id,tree_id,updated_by,updated_datetime,user_name,valid_indc";
|
||||
|
||||
public const string DB_CREATED_BY = "created_by";
|
||||
public const string DB_CREATED_DATETIME = "created_datetime";
|
||||
public const string DB_MANAGER_INDC = "manager_indc";
|
||||
public const string DB_PERSON_ID = "person_id";
|
||||
public const string DB_TREE_ID = "tree_id";
|
||||
public const string DB_UPDATED_BY = "updated_by";
|
||||
public const string DB_UPDATED_DATETIME = "updated_datetime";
|
||||
public const string DB_USER_NAME = "user_name";
|
||||
public const string DB_VALID_INDC = "valid_indc";
|
||||
|
||||
private string ProviderName { get; set; }
|
||||
|
||||
public static FamilyTreePermissionEntity GetInstance(string providerName)
|
||||
{
|
||||
return new FamilyTreePermissionEntity() { ProviderName = providerName };
|
||||
}
|
||||
|
||||
public virtual void CopyFrom(FamilyTreePermissionEntity source)
|
||||
{
|
||||
CopyFrom(source, true);
|
||||
}
|
||||
|
||||
public virtual void CopyFrom(FamilyTreePermissionEntity source, bool includeSystemFields)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
throw new NullReferenceException("Source entity is null.");
|
||||
}
|
||||
|
||||
this.CreatedBy = source.CreatedBy;
|
||||
this.CreatedDatetime = source.CreatedDatetime;
|
||||
this.ManagerIndc = source.ManagerIndc;
|
||||
this.PersonId = source.PersonId;
|
||||
this.TreeId = source.TreeId;
|
||||
this.UpdatedBy = source.UpdatedBy;
|
||||
this.UpdatedDatetime = source.UpdatedDatetime;
|
||||
this.UserName = source.UserName;
|
||||
this.ValidIndc = source.ValidIndc;
|
||||
|
||||
if (includeSystemFields)
|
||||
{
|
||||
this.CreatedBy = source.CreatedBy;
|
||||
this.CreatedDatetime = source.CreatedDatetime;
|
||||
this.UpdatedBy = source.UpdatedBy;
|
||||
this.UpdatedDatetime = source.UpdatedDatetime;
|
||||
}
|
||||
}
|
||||
|
||||
public override string GetSelectFrom()
|
||||
{
|
||||
if (ProviderName.Contains("MySql"))
|
||||
{
|
||||
return GetSelectFromByMySql();
|
||||
}
|
||||
else if (ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
return GetSelectFromByBySqlServer();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
|
||||
}
|
||||
}
|
||||
public string GetSelectFromByMySql()
|
||||
{
|
||||
return $" select {DB_NAME_FIELDS} from { DB_NAME_FAMILY_TREE_PERMISSION} with(nolock) ";
|
||||
}
|
||||
public string GetSelectFromByBySqlServer()
|
||||
{
|
||||
return $" select {DB_NAME_FIELDS} from { DB_NAME_FAMILY_TREE_PERMISSION} ";
|
||||
}
|
||||
|
||||
public override string GetSelectCountFrom(string sqlWhere)
|
||||
{
|
||||
if (ProviderName.Contains("MySql"))
|
||||
{
|
||||
return GetSelectCountFromByMySql(sqlWhere);
|
||||
}
|
||||
else if (ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
return GetSelectCountFromBySqlServer(sqlWhere);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
|
||||
}
|
||||
}
|
||||
|
||||
public string GetSelectCountFromByMySql(string sqlWhere)
|
||||
{
|
||||
return $" select count(*) from { DB_NAME_FAMILY_TREE_PERMISSION} where 1=1 {sqlWhere}";
|
||||
}
|
||||
public string GetSelectCountFromBySqlServer(string sqlWhere)
|
||||
{
|
||||
return $" select count(*) from { DB_NAME_FAMILY_TREE_PERMISSION} with(nolock) where 1=1 {sqlWhere}";
|
||||
}
|
||||
|
||||
public override string GetSelectTopFrom(int limit, int start, string orderby, string orderbytag, string sqlWhere)
|
||||
{
|
||||
if (ProviderName.Contains("MySql"))
|
||||
{
|
||||
return GetSelectTopFromByMySql(limit, start, orderby, orderbytag, sqlWhere);
|
||||
}
|
||||
else if (ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
return GetSelectTopFromBySqlServer(limit, start, orderby, orderbytag, sqlWhere);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
|
||||
}
|
||||
}
|
||||
|
||||
public string GetSelectTopFromByMySql(int limit, int start,string orderby,string orderbytag, string sqlWhere)
|
||||
{
|
||||
if (string.IsNullOrEmpty(orderbytag) || orderbytag.Trim() != "desc") orderbytag = "asc";
|
||||
if (string.IsNullOrEmpty(orderby) || !DB_NAME_FIELDS.Contains(orderby)) orderby = DB_PERSON_ID ;
|
||||
int offset = limit * (start - 1);
|
||||
return $" select {DB_NAME_FIELDS} from (select {DB_NAME_FIELDS} ,row_number() over(order by {orderby} {orderbytag}) as num from { DB_NAME_FAMILY_TREE_PERMISSION} where 1=1 {sqlWhere} ) a where num> {offset} LIMIT {limit} ";
|
||||
}
|
||||
|
||||
public string GetSelectTopFromBySqlServer(int limit, int start,string orderby,string orderbytag, string sqlWhere)
|
||||
{
|
||||
if (string.IsNullOrEmpty(orderbytag) || orderbytag.Trim() != "desc") orderbytag = "asc";
|
||||
if (string.IsNullOrEmpty(orderby) || !DB_NAME_FIELDS.Contains(orderby)) orderby = DB_PERSON_ID ;
|
||||
string top = limit > 0 ? $"top {limit}" : "";
|
||||
return $" select {top} {DB_NAME_FIELDS} from (select {DB_NAME_FIELDS} ,row_number() over(order by {orderby} {orderbytag}) as num from { DB_NAME_FAMILY_TREE_PERMISSION} with(nolock) where 1=1 {sqlWhere} ) a where num> {limit * (start - 1)}";
|
||||
}
|
||||
|
||||
public FamilyTreePermissionEntity Clone()
|
||||
{
|
||||
FamilyTreePermissionEntity result = new FamilyTreePermissionEntity();
|
||||
result.CopyFrom(this);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
using CloudBuilder.Core.Authorization;
|
||||
namespace CloudBuilder.Master
|
||||
{
|
||||
[TypeScript]
|
||||
public class FamilyTreePermissionEntityKey
|
||||
{
|
||||
public string PersonId { get; set; }
|
||||
public string TreeId { get; set; }
|
||||
public string UserName { get; set; }
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (this == obj) return true;
|
||||
|
||||
FamilyTreePermissionEntityKey pkey = obj as FamilyTreePermissionEntityKey;
|
||||
if (pkey == null) return false;
|
||||
|
||||
if (PersonId != pkey.PersonId) return false;
|
||||
if (TreeId != pkey.TreeId) return false;
|
||||
if (UserName != pkey.UserName) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string declareSql="";
|
||||
declareSql=declareSql+$"declare @__tkey_PersonId_0 varchar(50) select @__tkey_PersonId_0 ='{PersonId}'; " ; declareSql=declareSql+$"declare @__tkey_TreeId_1 varchar(50) select @__tkey_TreeId_1 ='{TreeId}'; " ; declareSql=declareSql+$"declare @__tkey_UserName_2 varchar(50) select @__tkey_UserName_2 ='{UserName}'; " ;
|
||||
return declareSql;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* builder.Entity<FamilyTreePermissionEntity>().HasKey(c => new { c.PersonId, c.TreeId, c.UserName}); */
|
||||
@@ -0,0 +1,179 @@
|
||||
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace CloudBuilder.Master.Entity
|
||||
{
|
||||
[TypeScript]
|
||||
[Table("family_tree_permission_user_view")]
|
||||
public class FamilyTreePermissionUserViewEntity : ViewEntityBase
|
||||
{
|
||||
|
||||
public FamilyTreePermissionUserViewEntity()
|
||||
{
|
||||
}
|
||||
|
||||
[Column("created_datetime")]
|
||||
public DateTime CreatedDatetime { get; set; }
|
||||
[Column("manager_indc")]
|
||||
public string ManagerIndc { get; set; }
|
||||
[Column("person_id")]
|
||||
public string PersonId { get; set; }
|
||||
[Column("person_local_name")]
|
||||
public string? PersonLocalName { get; set; }
|
||||
[Column("tree_id")]
|
||||
public string TreeId { get; set; }
|
||||
[Column("user_local_name")]
|
||||
public string UserLocalName { get; set; }
|
||||
[Column("user_name")]
|
||||
public string UserName { get; set; }
|
||||
[Column("valid_indc")]
|
||||
public string ValidIndc { get; set; }
|
||||
|
||||
public const string CREATED_DATETIME = "CreatedDatetime";
|
||||
public const string MANAGER_INDC = "ManagerIndc";
|
||||
public const string PERSON_ID = "PersonId";
|
||||
public const string PERSON_LOCAL_NAME = "PersonLocalName";
|
||||
public const string TREE_ID = "TreeId";
|
||||
public const string USER_LOCAL_NAME = "UserLocalName";
|
||||
public const string USER_NAME = "UserName";
|
||||
public const string VALID_INDC = "ValidIndc";
|
||||
|
||||
public const string DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW = "family_tree_permission_user_view";
|
||||
public const string DB_NAME_FIELDS="created_datetime,manager_indc,person_id,person_local_name,tree_id,user_local_name,user_name,valid_indc";
|
||||
|
||||
public const string DB_CREATED_DATETIME = "created_datetime";
|
||||
public const string DB_MANAGER_INDC = "manager_indc";
|
||||
public const string DB_PERSON_ID = "person_id";
|
||||
public const string DB_PERSON_LOCAL_NAME = "person_local_name";
|
||||
public const string DB_TREE_ID = "tree_id";
|
||||
public const string DB_USER_LOCAL_NAME = "user_local_name";
|
||||
public const string DB_USER_NAME = "user_name";
|
||||
public const string DB_VALID_INDC = "valid_indc";
|
||||
|
||||
private string ProviderName { get; set; }
|
||||
|
||||
public static FamilyTreePermissionUserViewEntity GetInstance(string providerName)
|
||||
{
|
||||
return new FamilyTreePermissionUserViewEntity() { ProviderName = providerName };
|
||||
}
|
||||
|
||||
public virtual void CopyFrom(FamilyTreePermissionUserViewEntity source)
|
||||
{
|
||||
CopyFrom(source, true);
|
||||
}
|
||||
|
||||
public virtual void CopyFrom(FamilyTreePermissionUserViewEntity source, bool includeSystemFields)
|
||||
{
|
||||
if (source == null)
|
||||
{
|
||||
throw new NullReferenceException("Source entity is null.");
|
||||
}
|
||||
|
||||
this.CreatedDatetime = source.CreatedDatetime;
|
||||
this.ManagerIndc = source.ManagerIndc;
|
||||
this.PersonId = source.PersonId;
|
||||
this.PersonLocalName = source.PersonLocalName;
|
||||
this.TreeId = source.TreeId;
|
||||
this.UserLocalName = source.UserLocalName;
|
||||
this.UserName = source.UserName;
|
||||
this.ValidIndc = source.ValidIndc;
|
||||
|
||||
if (includeSystemFields)
|
||||
{
|
||||
this.CreatedDatetime = source.CreatedDatetime;
|
||||
}
|
||||
}
|
||||
|
||||
public override string GetSelectFrom()
|
||||
{
|
||||
if (ProviderName.Contains("MySql"))
|
||||
{
|
||||
return GetSelectFromByMySql();
|
||||
}
|
||||
else if (ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
return GetSelectFromByBySqlServer();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
|
||||
}
|
||||
}
|
||||
public string GetSelectFromByMySql()
|
||||
{
|
||||
return $" select {DB_NAME_FIELDS} from { DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW} with(nolock) ";
|
||||
}
|
||||
public string GetSelectFromByBySqlServer()
|
||||
{
|
||||
return $" select {DB_NAME_FIELDS} from { DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW} ";
|
||||
}
|
||||
|
||||
public override string GetSelectCountFrom(string sqlWhere)
|
||||
{
|
||||
if (ProviderName.Contains("MySql"))
|
||||
{
|
||||
return GetSelectCountFromByMySql(sqlWhere);
|
||||
}
|
||||
else if (ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
return GetSelectCountFromBySqlServer(sqlWhere);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
|
||||
}
|
||||
}
|
||||
|
||||
public string GetSelectCountFromByMySql(string sqlWhere)
|
||||
{
|
||||
return $" select count(*) from { DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW} where 1=1 {sqlWhere}";
|
||||
}
|
||||
public string GetSelectCountFromBySqlServer(string sqlWhere)
|
||||
{
|
||||
return $" select count(*) from { DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW} with(nolock) where 1=1 {sqlWhere}";
|
||||
}
|
||||
|
||||
public override string GetSelectTopFrom(int limit, int start, string orderby, string orderbytag, string sqlWhere)
|
||||
{
|
||||
if (ProviderName.Contains("MySql"))
|
||||
{
|
||||
return GetSelectTopFromByMySql(limit, start, orderby, orderbytag, sqlWhere);
|
||||
}
|
||||
else if (ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
return GetSelectTopFromBySqlServer(limit, start, orderby, orderbytag, sqlWhere);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotSupportedException($"不支持的数据库提供程序:{ProviderName}");
|
||||
}
|
||||
}
|
||||
|
||||
public string GetSelectTopFromByMySql(int limit, int start,string orderby,string orderbytag, string sqlWhere)
|
||||
{
|
||||
if (string.IsNullOrEmpty(orderbytag) || orderbytag.Trim() != "desc") orderbytag = "asc";
|
||||
|
||||
if (string.IsNullOrEmpty(orderby) || !DB_NAME_FIELDS.Contains(orderby)) orderby = DB_CREATED_DATETIME ; int offset = limit * (start - 1);
|
||||
return $" select {DB_NAME_FIELDS} from (select {DB_NAME_FIELDS} ,row_number() over(order by {orderby} {orderbytag}) as num from { DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW} where 1=1 {sqlWhere} ) a where num> {offset} LIMIT {limit} ";
|
||||
}
|
||||
|
||||
public string GetSelectTopFromBySqlServer(int limit, int start,string orderby,string orderbytag, string sqlWhere)
|
||||
{
|
||||
if (string.IsNullOrEmpty(orderbytag) || orderbytag.Trim() != "desc") orderbytag = "asc";
|
||||
|
||||
if (string.IsNullOrEmpty(orderby) || !DB_NAME_FIELDS.Contains(orderby)) orderby = DB_CREATED_DATETIME ; string top = limit > 0 ? $"top {limit}" : "";
|
||||
return $" select {top} {DB_NAME_FIELDS} from (select {DB_NAME_FIELDS} ,row_number() over(order by {orderby} {orderbytag}) as num from { DB_NAME_FAMILY_TREE_PERMISSION_USER_VIEW} with(nolock) where 1=1 {sqlWhere} ) a where num> {limit * (start - 1)}";
|
||||
}
|
||||
|
||||
public FamilyTreePermissionUserViewEntity Clone()
|
||||
{
|
||||
FamilyTreePermissionUserViewEntity result = new FamilyTreePermissionUserViewEntity();
|
||||
result.CopyFrom(this);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -14,5 +14,10 @@ namespace CloudBuilder.Master.Service
|
||||
FamilyTreeResultData FindBySearchCriteria(FamilyTreeSearchCriteria tc);
|
||||
dynamic PrintBySearchCriteria(FamilyTreeSearchCriteria tc);
|
||||
void Deletes(string[] keys);
|
||||
|
||||
void RequestFamilyTreePermission(string treeId, string currentPermission);
|
||||
void ApproveFamilyTreePermission(string treeId, string currentPersonId, string userName, string managerIndc);
|
||||
void RejectFamilyTreePermission(string treeId, string currentPersonId, string userName);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,164 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class DmsFileRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public DmsFileRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public DmsFileEntity FindByKey(Int64 key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity>("/DmsFile/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindDatasBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindDatasBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindDeleteLogBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindDeleteLogBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileResultData FindFamilyBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,DmsFileResultData>("/DmsFile/FindFamilyBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileDeleteLogEntity FindDmsFileDeleteLogByKey(Int64 key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileDeleteLogEntity>("/DmsFile/FindDmsFileDeleteLogByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(DmsFileSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileSearchCriteria,dynamic>("/DmsFile/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileEntity Insert(DmsFileEntity data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,DmsFileEntity>("/DmsFile/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFileEntity Update(DmsFileEntity data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,DmsFileEntity>("/DmsFile/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(Int64 key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void RestoreDmsFile(Int64 key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/RestoreDmsFile?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteLog(Int64 key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/DeleteLog?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string CreateDmsFolder(DmsFileEntity dmsFile)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,string>("/DmsFile/CreateDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyDmsFileViewEntity,dynamic>("/DmsFile/DeleteFamilyDmsFolder" , familyDmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void CreateFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyDmsFileViewEntity,dynamic>("/DmsFile/CreateFamilyDmsFolder" , familyDmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UpdateDmsFolder(DmsFileEntity dmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,dynamic>("/DmsFile/UpdateDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindDmsFolders()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]> ("/DmsFile/FindDmsFolders")).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindDmsFolderDeleteLogs()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]> ("/DmsFile/FindDmsFolderDeleteLogs")).GetAwaiter().GetResult(); }
|
||||
|
||||
public DmsFolderData FindDmsFolderData()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFolderData> ("/DmsFile/FindDmsFolderData")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void MoveDmsFolder(DmsFileEntity dmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,dynamic>("/DmsFile/MoveDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UploadFile()
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/UploadFile")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UploadDmsFile()
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/DmsFile/UploadDmsFile")).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindM3u8Path(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindM3u8Path?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindSourceVideoPath(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindSourceVideoPath?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindDeleteLogM3u8Path(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindDeleteLogM3u8Path?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic DownloadFile(Int64 fileId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<dynamic>("/DmsFile/DownloadFile?fileId=" + fileId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic DownloadFilePreview(DmsFileEntity dmsFile)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,dynamic>("/DmsFile/DownloadFilePreview" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic DownloadFileCombine(string fileName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<dynamic>("/DmsFile/DownloadFileCombine?fileName=" + fileName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindFamilyDmsFolders()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]> ("/DmsFile/FindFamilyDmsFolders")).GetAwaiter().GetResult(); }
|
||||
|
||||
public SelectOption[] FindFamilyDmsFoldersByFamilyName(string familyName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]>("/DmsFile/FindFamilyDmsFoldersByFamilyName?familyName=" + familyName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public Int32 FindDmsFolderMapByFolderName(string folderName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<Int32>("/DmsFile/FindDmsFolderMapByFolderName?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public string FindFolderNameParentByFolderName(string folderName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<string>("/DmsFile/FindFolderNameParentByFolderName?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void CreateFamilyGroupFolder(FamilyGroupFolderEntity[] familyGroupFolder)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupFolderEntity[],dynamic>("/DmsFile/CreateFamilyGroupFolder" , familyGroupFolder)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyGroupFolder(FamilyGroupFolderEntity[] familyGroupFolder)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupFolderEntity[],dynamic>("/DmsFile/DeleteFamilyGroupFolder" , familyGroupFolder)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FamilyGroupRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FamilyGroupRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public FamilyGroupData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupData>("/FamilyGroup/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupResultData FindBySearchCriteria(FamilyGroupSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupSearchCriteria,FamilyGroupResultData>("/FamilyGroup/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupResultData FindFamilyUserBySearchCriteria(FamilyGroupManagerUserSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerUserSearchCriteria,FamilyGroupResultData>("/FamilyGroup/FindFamilyUserBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupResultData FamilyFolderFavoriteBySearchCriteria(FamilyGroupManagerUserSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerUserSearchCriteria,FamilyGroupResultData>("/FamilyGroup/FamilyFolderFavoriteBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(FamilyGroupSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupSearchCriteria,dynamic>("/FamilyGroup/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupData Insert(FamilyGroupData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupData,FamilyGroupData>("/FamilyGroup/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyGroupData Update(FamilyGroupData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupData,FamilyGroupData>("/FamilyGroup/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertFamilyGroupManager(FamilyGroupManagerEntity manager)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerEntity,dynamic>("/FamilyGroup/InsertFamilyGroupManager" , manager)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertFamilyGroupPermission(FamilyGroupPermissionEntity[] managers)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupPermissionEntity[],dynamic>("/FamilyGroup/InsertFamilyGroupPermission" , managers)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void UpdateFamilyGroupManager(FamilyGroupManagerEntity manager)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerEntity,dynamic>("/FamilyGroup/UpdateFamilyGroupManager" , manager)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyGroupManager(FamilyGroupManagerEntity manager)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyGroupManagerEntity,dynamic>("/FamilyGroup/DeleteFamilyGroupManager" , manager)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertFamilyFolderFavorite(string folderName)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/InsertFamilyFolderFavorite?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyFolderFavorite(string folderName)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyGroup/DeleteFamilyFolderFavorite?folderName=" + folderName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyFolderFavorites(FamilyFolderFavoriteEntity[] familyFolderFavorites)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyFolderFavoriteEntity[],dynamic>("/FamilyGroup/DeleteFamilyFolderFavorites" , familyFolderFavorites)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FamilyPersonRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FamilyPersonRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public FamilyPersonEntity[] FindAll()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonEntity[]> ("/FamilyPerson/FindAll")).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonData>("/FamilyPerson/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonResultData FindBySearchCriteria(FamilyPersonSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonSearchCriteria,FamilyPersonResultData>("/FamilyPerson/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(FamilyPersonSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonSearchCriteria,dynamic>("/FamilyPerson/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonData Insert(FamilyPersonData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonData,FamilyPersonData>("/FamilyPerson/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyPersonData Update(FamilyPersonData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyPersonData,FamilyPersonData>("/FamilyPerson/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyPerson/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Deletes(string[] keys)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<string[],dynamic>("/FamilyPerson/Deletes" , keys)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FamilyTreeRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FamilyTreeRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public FamilyTreeData FindAllByTreeId(string treeId)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData>("/FamilyTree/FindAllByTreeId?treeId=" + treeId.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData>("/FamilyTree/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
public class FindByCurrentPersonCompositionData2 {
|
||||
public string key { get; set; }
|
||||
public string personId { get; set; }
|
||||
|
||||
}
|
||||
public FamilyTreeData FindByCurrentPerson(string key, string personId)
|
||||
{
|
||||
var compositionData = new FindByCurrentPersonCompositionData2{ ␍key = key, ␍personId = personId }; ␍return Task.Run(() => serviceRequest.PostAsJsonAsync<FindByCurrentPersonCompositionData2, FamilyTreeData>("/FamilyTree/FindByCurrentPerson", compositionData)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeResultData FindBySearchCriteria(FamilyTreeSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeSearchCriteria,FamilyTreeResultData>("/FamilyTree/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeData Insert(FamilyTreeData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData,FamilyTreeData>("/FamilyTree/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public FamilyTreeData Update(FamilyTreeData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyTreeData,FamilyTreeData>("/FamilyTree/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/FamilyTree/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Deletes(string[] keys)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<string[],dynamic>("/FamilyTree/Deletes" , keys)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class FileTypePolicyRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public FileTypePolicyRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public SelectOption[] FindSelectOption(bool blank)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<SelectOption[]>("/FileTypePolicy/FindSelectOption?blank=" + blank.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class PublishAudioRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public PublishAudioRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public PublishAudioData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData>("/PublishAudio/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioResultData FindBySearchCriteria(PublishAudioSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioSearchCriteria,PublishAudioResultData>("/PublishAudio/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioData FindPublishAudioDefault()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData> ("/PublishAudio/FindPublishAudioDefault")).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(PublishAudioSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioSearchCriteria,dynamic>("/PublishAudio/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioData Insert(PublishAudioData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData,PublishAudioData>("/PublishAudio/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishAudioData Update(PublishAudioData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishAudioData,PublishAudioData>("/PublishAudio/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishAudio/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishAudioDetail(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishAudio/InsertPublishAudioDetail" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class PublishPhotoRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public PublishPhotoRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public PublishPhotoData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData>("/PublishPhoto/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoResultData FindBySearchCriteria(PublishPhotoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoSearchCriteria,PublishPhotoResultData>("/PublishPhoto/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(PublishPhotoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoSearchCriteria,dynamic>("/PublishPhoto/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoData Insert(PublishPhotoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData,PublishPhotoData>("/PublishPhoto/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoData Update(PublishPhotoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData,PublishPhotoData>("/PublishPhoto/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishPhoto/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoDetailEntity[] FindPublishPhotoDetailByPublishName(string publishName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailEntity[]>("/PublishPhoto/FindPublishPhotoDetailByPublishName?publishName=" + publishName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoDetailEntity[] FindPublishPhotoDetail()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailEntity[]> ("/PublishPhoto/FindPublishPhotoDetail")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishPhotoDetail(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishPhoto/InsertPublishPhotoDetail" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishPhotoDetailByFamilyGroup(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishPhoto/InsertPublishPhotoDetailByFamilyGroup" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Core.Request;
|
||||
using CloudBuilder.Core.Service;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using CloudBuilder.Master.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using CloudBuilder.Master.Data;
|
||||
using CloudBuilder.Master.SearchCriteria;
|
||||
|
||||
namespace CloudBuilder.Request.Master
|
||||
{
|
||||
|
||||
public class PublishVideoRequest : IRequest
|
||||
{
|
||||
|
||||
private readonly IServiceRequest serviceRequest;
|
||||
public PublishVideoRequest(IServiceRequest serviceRequest)
|
||||
{
|
||||
this.serviceRequest = serviceRequest;
|
||||
}
|
||||
|
||||
public PublishVideoData FindByKey(string key)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData>("/PublishVideo/FindByKey?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoResultData FindBySearchCriteria(PublishVideoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoSearchCriteria,PublishVideoResultData>("/PublishVideo/FindBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoData FindPublishVideoDefault()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData> ("/PublishVideo/FindPublishVideoDefault")).GetAwaiter().GetResult(); }
|
||||
|
||||
public dynamic PrintBySearchCriteria(PublishVideoSearchCriteria criteria)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoSearchCriteria,dynamic>("/PublishVideo/PrintBySearchCriteria" , criteria)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoData Insert(PublishVideoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData,PublishVideoData>("/PublishVideo/Insert" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishVideoData Update(PublishVideoData data)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishVideoData,PublishVideoData>("/PublishVideo/Update" , data)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void Delete(string key)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishVideo/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishVideoDetail(PublishData publishData)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<PublishData,dynamic>("/PublishVideo/InsertPublishVideoDetail" , publishData)).GetAwaiter().GetResult(); }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -145,7 +145,7 @@ namespace CloudBuilder.Security.Gui
|
||||
|
||||
private void InitCombo()
|
||||
{
|
||||
functionIndcCombo.SetDataSource(YesNoPolicy.GetInstance().GetComposeMessages(), true);
|
||||
functionIndcCombo.SetDataSource(YesNoPolicy.GetInstance(ApplicationServiceContext.ServiceProvider).GetComposeMessages(), true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Core.DependencyInjection.Form;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Gui;
|
||||
using CloudBuilder.Request.Security;
|
||||
using CloudBuilder.Security.Data;
|
||||
@@ -102,7 +103,7 @@ namespace CloudBuilder.Security.Gui
|
||||
|
||||
private void InitComBox()
|
||||
{
|
||||
functionIndcCombo.SetDataSource(YesNoPolicy.GetInstance().GetComposeMessages(), true);
|
||||
functionIndcCombo.SetDataSource(YesNoPolicy.GetInstance(ApplicationServiceContext.ServiceProvider).GetComposeMessages(), true);
|
||||
}
|
||||
|
||||
private void InitPermission()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Core.DependencyInjection.Form;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Gui;
|
||||
using CloudBuilder.Request.Security;
|
||||
using CloudBuilder.Security.Entity;
|
||||
@@ -107,7 +108,7 @@ namespace CloudBuilder.Security.Gui
|
||||
|
||||
private void InitCombo()
|
||||
{
|
||||
validIndcCombo.SetDataSource(YesNoPolicy.GetInstance().GetComposeMessages(), true);
|
||||
validIndcCombo.SetDataSource(YesNoPolicy.GetInstance(ApplicationServiceContext.ServiceProvider).GetComposeMessages(), true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -124,7 +124,7 @@ namespace CloudBuilder.Security.Gui
|
||||
{
|
||||
//設置Value與description的映射,另一方式是dataValeOperation传入函数
|
||||
Dictionary<string, Dictionary<string, object>> mappings = new Dictionary<string, Dictionary<string, object>>();
|
||||
Dictionary<string, object> validDic = YesNoPolicy.GetInstance().GetDictionary();
|
||||
Dictionary<string, object> validDic = YesNoPolicy.GetInstance(ApplicationServiceContext.ServiceProvider).GetDictionary();
|
||||
mappings.Add(SecurityUserEntity.USER_IS_VALID_INDC, validDic);
|
||||
//設置查詢條件
|
||||
List<string> searCriteria = new List<string>();
|
||||
@@ -151,7 +151,7 @@ namespace CloudBuilder.Security.Gui
|
||||
|
||||
private void InitCombo()
|
||||
{
|
||||
userIsValidIndcCombo.SetDataSource(YesNoPolicy.GetInstance().GetComposeMessages(), true);
|
||||
userIsValidIndcCombo.SetDataSource(YesNoPolicy.GetInstance(ApplicationServiceContext.ServiceProvider).GetComposeMessages(), true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -27,13 +27,19 @@ namespace CloudBuilder.Security.Service.Authorization
|
||||
{
|
||||
public class PermissionHandler : AuthorizationHandler<PermissionRequirement>, IAuthorize
|
||||
{
|
||||
private readonly WebService service;
|
||||
private readonly IServiceProvider serviceProvider;
|
||||
private readonly IContext loginContext;
|
||||
private readonly IHttpContextAccessor httpContextAccessor;
|
||||
|
||||
public PermissionHandler(WebService service, IContext loginContext, IHttpContextAccessor httpContextAccessor)
|
||||
/// <summary>
|
||||
/// 注意:这里必须注入当前请求作用域的 IServiceProvider,
|
||||
/// 不能使用 WebService.Services.BuildServiceProvider() 新建容器,
|
||||
/// 否则每次鉴权都会独立构建一整套服务实例(单例/作用域都会重建,且无法释放),
|
||||
/// 取到的 IApplicationService 也会与当前请求的作用域不一致。
|
||||
/// </summary>
|
||||
public PermissionHandler(IServiceProvider serviceProvider, IContext loginContext, IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
this.service = service;
|
||||
this.serviceProvider = serviceProvider;
|
||||
this.loginContext = loginContext;
|
||||
this.httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
@@ -66,7 +72,7 @@ namespace CloudBuilder.Security.Service.Authorization
|
||||
loginContext.SetToken(ClaimPolicy.GetJwtBearerToken(httpContextAccessor.HttpContext));
|
||||
loginContext.SetCulture(ClaimPolicy.GetClaimValue(httpContextAccessor, ClaimPolicy.CLAINM_LOCALE) ?? CulturePolicy.ZH_CN);
|
||||
|
||||
IApplicationService applicationService = service.Services.BuildServiceProvider().GetRequiredService<IApplicationService>();
|
||||
IApplicationService applicationService = serviceProvider.GetRequiredService<IApplicationService>();
|
||||
PermissionContext permissionContext = new PermissionContext(applicationService);
|
||||
|
||||
bool result = false;
|
||||
|
||||
@@ -137,6 +137,90 @@ this.familyTreeService= familyTreeService;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class RequestFamilyTreePermissionCompositionData
|
||||
{
|
||||
public string treeId { get; set; }
|
||||
public string currentPersonId { get; set; }
|
||||
|
||||
}
|
||||
[PermissionOperate(name: "FamilyTree", operate: "Find")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public dynamic RequestFamilyTreePermission(RequestFamilyTreePermissionCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
familyTreeService.RequestFamilyTreePermission(compositionData.treeId,compositionData.currentPersonId);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class ApproveFamilyTreePermissionCompositionData
|
||||
{
|
||||
public string treeId { get; set; }
|
||||
public string currentPersonId { get; set; }
|
||||
public string userName { get; set; }
|
||||
public string managerIndc { get; set; }
|
||||
|
||||
}
|
||||
[PermissionOperate(name: "FamilyTree", operate: "Find")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public dynamic ApproveFamilyTreePermission(ApproveFamilyTreePermissionCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
familyTreeService.ApproveFamilyTreePermission(compositionData.treeId,compositionData.currentPersonId,compositionData.userName,compositionData.managerIndc);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class RejectFamilyTreePermissionCompositionData
|
||||
{
|
||||
public string treeId { get; set; }
|
||||
public string currentPersonId { get; set; }
|
||||
public string userName { get; set; }
|
||||
|
||||
}
|
||||
[PermissionOperate(name: "FamilyTree", operate: "Find")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public dynamic RejectFamilyTreePermission(RejectFamilyTreePermissionCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
familyTreeService.RejectFamilyTreePermission(compositionData.treeId,compositionData.currentPersonId,compositionData.userName);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "FamilyTree", operate: "Update")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
|
||||
Reference in new issue
Block a user