Common: refactoring

This commit is contained in:
pavelbannov 2020-12-04 16:48:54 +03:00
parent d39c2524c3
commit c764812d3a
3 changed files with 18 additions and 5 deletions

View File

@ -98,13 +98,24 @@ namespace ASC.Common.Threading
public T GetProperty<T>(string name)
{
if (!DistributedTaskCache.Props.Any(r => r.Key == name)) return default;
var val = DistributedTaskCache.Props.SingleOrDefault(r => r.Key == name);
var val = DistributedTaskCache.Props.FirstOrDefault(r => r.Key == name);
if (val == null) return default;
var resType = typeof(T);
object result = val.Value;
if(resType == typeof(Guid))
{
result = Guid.Parse(val.Value.Trim('"'));
}
else if(resType.IsEnum)
{
Enum.TryParse(resType, val.Value, out var e);
result = e;
}
return JsonSerializer.Deserialize<T>(val.Value);
return (T)Convert.ChangeType(result, resType);
}
public void SetProperty(string name, object value)

View File

@ -164,6 +164,7 @@ namespace ASC.Core.Data
var counter = CoreDbContext.QuotaRows
.Where(r => r.Path == row.Path && r.Tenant == row.Tenant)
.Select(r => r.Counter)
.Take(1)
.FirstOrDefault();
var dbQuotaRow = new DbQuotaRow

View File

@ -56,7 +56,8 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
{
var operations = tasks.GetTasks();
var processlist = Process.GetProcesses();
//TODO: replace with distributed cache
foreach (var o in operations.Where(o => processlist.All(p => p.Id != o.InstanceId)))
{
o.SetProperty(FileOperation.PROGRESS, 100);