авточистка проекта

This commit is contained in:
Фролов 2021-07-21 15:29:19 +05:00
parent d0378e4f1d
commit 6abbf476b1
50 changed files with 265 additions and 311 deletions

View File

@ -1,12 +1,6 @@
using System; namespace AsbCloudApp.Data
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsbCloudApp.Data
{ {
public class ClusterDto: IMapPoint public class ClusterDto : IMapPoint
{ {
public int Id { get; set; } public int Id { get; set; }
public string Name { get; set; } public string Name { get; set; }

View File

@ -1,6 +1,6 @@
namespace AsbCloudApp.Data namespace AsbCloudApp.Data
{ {
public class DepositDto: IMapPoint public class DepositDto : IMapPoint
{ {
public int Id { get; set; } public int Id { get; set; }
public string Name { get; set; } public string Name { get; set; }

View File

@ -1,10 +1,4 @@
using System; namespace AsbCloudApp.Data
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsbCloudApp.Data
{ {
public interface IMapPoint public interface IMapPoint
{ {

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
namespace AsbCloudApp.Data namespace AsbCloudApp.Data
{ {
public class WellDrillingStatDto: WellDto public class WellDrillingStatDto : WellDto
{ {
public DateTime? PlanStart { get; set; } public DateTime? PlanStart { get; set; }
public DateTime? PlanEnd { get; set; } public DateTime? PlanEnd { get; set; }

View File

@ -1,7 +1,7 @@
using System; using AsbCloudApp.Data;
using System.Collections.Generic;
using AsbCloudApp.Data;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using System;
using System.Collections.Generic;
namespace AsbCloudApp.Services namespace AsbCloudApp.Services
{ {

View File

@ -1,9 +1,5 @@
using AsbCloudApp.Data; using AsbCloudApp.Data;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsbCloudApp.Services namespace AsbCloudApp.Services
{ {

View File

@ -1,6 +1,6 @@
using System; using AsbCloudApp.Data;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using AsbCloudApp.Data;
namespace AsbCloudApp.Services namespace AsbCloudApp.Services
{ {

View File

@ -1,5 +1,5 @@
using System.Collections.Generic; using AsbCloudDb.Model;
using AsbCloudDb.Model; using System.Collections.Generic;
namespace AsbCloudApp.Services namespace AsbCloudApp.Services
{ {

View File

@ -1,6 +1,5 @@
using AsbCloudApp.Data; using AsbCloudApp.Data;
using System.Collections.Generic; using System.Collections.Generic;
using System.Security.Claims;
namespace AsbCloudApp.Services namespace AsbCloudApp.Services
{ {

View File

@ -276,7 +276,7 @@ namespace AsbCloudDb.Model
return (datesRange.From, datesRange.To); return (datesRange.From, datesRange.To);
} }
public IEnumerable<(double? MinDepth, double? MaxDepth, DateTime BeginPeriodDate)> GetDepthToInterval (int telemetryId, public IEnumerable<(double? MinDepth, double? MaxDepth, DateTime BeginPeriodDate)> GetDepthToInterval(int telemetryId,
int intervalHoursTimestamp, int workStartTimestamp, double timezoneOffset) int intervalHoursTimestamp, int workStartTimestamp, double timezoneOffset)
{ {
//TODO: Сменить на LINQ группирование //TODO: Сменить на LINQ группирование

View File

@ -1,5 +1,4 @@
using Microsoft.EntityFrameworkCore; using System.Collections.Generic;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;

View File

@ -1,10 +1,4 @@
using System; namespace AsbCloudDb.Model
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsbCloudDb.Model
{ {
public interface IMapPoint public interface IMapPoint
{ {

View File

@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
namespace AsbCloudDb.Model namespace AsbCloudDb.Model
{ {

View File

@ -1,5 +1,5 @@
using System; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;

View File

@ -1,7 +1,6 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
#nullable disable #nullable disable
@ -19,7 +18,7 @@ namespace AsbCloudDb.Model
public int IdWellSectionType { get; set; } public int IdWellSectionType { get; set; }
[Column("id_well")] [Column("id_well")]
public int IdWell{ get; set; } public int IdWell { get; set; }
[Column("well_depth_plan"), Comment("глубина план")] [Column("well_depth_plan"), Comment("глубина план")]
public double WellDepthPlan { get; set; } public double WellDepthPlan { get; set; }

View File

@ -1,9 +1,8 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Collections.Generic;
#nullable disable #nullable disable
namespace AsbCloudDb.Model namespace AsbCloudDb.Model

View File

@ -1,9 +1,8 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Collections.Generic;
#nullable disable #nullable disable
namespace AsbCloudDb.Model namespace AsbCloudDb.Model

View File

@ -1,9 +1,9 @@
using AsbSaubReport.Model; using AsbCloudDb.Model;
using AsbSaubReport.Model;
using Microsoft.EntityFrameworkCore;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using AsbCloudDb.Model;
using Microsoft.EntityFrameworkCore;
namespace AsbSaubReport namespace AsbSaubReport
{ {
@ -27,9 +27,9 @@ namespace AsbSaubReport
{ {
this.context = context; this.context = context;
var well = context.Wells var well = context.Wells
.Include(w=>w.Cluster) .Include(w => w.Cluster)
.ThenInclude(c=>c.Deposit) .ThenInclude(c => c.Deposit)
.Include(w=>w.Companies) .Include(w => w.Companies)
.Include(w => w.Telemetry) .Include(w => w.Telemetry)
.FirstOrDefault(w => w.Id == wellId); .FirstOrDefault(w => w.Id == wellId);
@ -50,9 +50,9 @@ namespace AsbSaubReport
Deposit = well.Cluster.Deposit.Caption, Deposit = well.Cluster.Deposit.Caption,
Cluster = well.Cluster.Caption, Cluster = well.Cluster.Caption,
Well = well.Caption, Well = well.Caption,
Customer = well.Companies.First(c=>c.IdCompanyType == 1)?.Caption, Customer = well.Companies.First(c => c.IdCompanyType == 1)?.Caption,
DrillingStartDate = well.Telemetry?.Info?.DrillingStartDate??default, DrillingStartDate = well.Telemetry?.Info?.DrillingStartDate ?? default,
TimeZoneId = well.Telemetry?.Info?.TimeZoneId??default, TimeZoneId = well.Telemetry?.Info?.TimeZoneId ?? default,
}; };
} }

View File

@ -1,10 +1,10 @@
using System; using AsbCloudApp.Data;
using System.Linq;
using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using AsbCloudInfrastructure.Services.Cache;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using AsbCloudInfrastructure.Services.Cache;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {
@ -147,10 +147,12 @@ namespace AsbCloudInfrastructure.Services
where a.IdTelemetry == telemetry.Id && where a.IdTelemetry == telemetry.Id &&
a.IdOperation != null a.IdOperation != null
join o in db.Operations on a.IdOperation equals o.Id join o in db.Operations on a.IdOperation equals o.Id
group a by new { group a by new
{
Interval = Math.Floor((a.UnixDate - workBeginSeconds + timezoneOffset) / intervalSeconds), Interval = Math.Floor((a.UnixDate - workBeginSeconds + timezoneOffset) / intervalSeconds),
OperationId = a.IdOperation, OperationId = a.IdOperation,
o.Name } into g o.Name
} into g
select new select new
{ {
IntervalStart = g.Min(d => d.UnixDate), IntervalStart = g.Min(d => d.UnixDate),
@ -159,9 +161,11 @@ namespace AsbCloudInfrastructure.Services
}).ToList(); }).ToList();
var operationsGroupedByInterval = operations.GroupBy(op => op.IntervalStart) var operationsGroupedByInterval = operations.GroupBy(op => op.IntervalStart)
.Select(o => new OperationInfoDto { .Select(o => new OperationInfoDto
{
IntervalBegin = DateTimeOffset.FromUnixTimeSeconds(o.Key), IntervalBegin = DateTimeOffset.FromUnixTimeSeconds(o.Key),
Operations = o.Select(opr => new OperationDetailsDto { Operations = o.Select(opr => new OperationDetailsDto
{
OperationName = opr.OperationName, OperationName = opr.OperationName,
Duration = opr.OperationsDuration Duration = opr.OperationsDuration
}).ToList() }).ToList()

View File

@ -1,6 +1,6 @@
using System; using AsbCloudApp.Services;
using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using AsbCloudApp.Services;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,7 +1,7 @@
using System.Threading; using AsbCloudApp.Services;
using System.Threading.Tasks;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using AsbCloudApp.Services; using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,5 +1,5 @@
using System; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;

View File

@ -57,8 +57,8 @@ namespace AsbCloudInfrastructure.Services
if (fullDataCount > 1.75 * approxPointsCount) if (fullDataCount > 1.75 * approxPointsCount)
{ {
var m = (int)Math.Round(1d*fullDataCount / approxPointsCount); var m = (int)Math.Round(1d * fullDataCount / approxPointsCount);
if(m > 1) if (m > 1)
fullData = fullData.Where(d => d.Id % m == 0); fullData = fullData.Where(d => d.Id % m == 0);
} }
@ -111,7 +111,7 @@ namespace AsbCloudInfrastructure.Services
var (From, To) = db.GetDatesRange<DataSaubBase>(telemetry.Id); var (From, To) = db.GetDatesRange<DataSaubBase>(telemetry.Id);
return new DatesRangeDto { From = From, To = To}; return new DatesRangeDto { From = From, To = To };
} }
} }
} }

View File

@ -1,5 +1,5 @@
using System; using AsbCloudDb.Model;
using AsbCloudDb.Model; using System;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using AsbCloudDb.Model;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using AsbCloudDb.Model;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,13 +1,13 @@
using AsbCloudApp.Services; using AsbCloudApp.Data;
using AsbCloudApp.Data; using AsbCloudApp.Services;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using System; using AsbSaubReport;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using AsbSaubReport; using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {
@ -27,10 +27,10 @@ namespace AsbCloudInfrastructure.Services
RootPath = "reports"; RootPath = "reports";
} }
public string RootPath { get ; private set; } public string RootPath { get; private set; }
public int CreateReport(int wellId, int stepSeconds, int format, DateTime begin, public int CreateReport(int wellId, int stepSeconds, int format, DateTime begin,
DateTime end, Action<float , string , int> progressHandler, Action<string, int> reportNameHandler) DateTime end, Action<float, string, int> progressHandler, Action<string, int> reportNameHandler)
{ {
var newReportId = queue.EnqueueTask((id) => var newReportId = queue.EnqueueTask((id) =>
{ {
@ -40,9 +40,9 @@ namespace AsbCloudInfrastructure.Services
using (var context = new AsbCloudDbContext(optionsBuilder.Options)) using (var context = new AsbCloudDbContext(optionsBuilder.Options))
{ {
var generator = GetReportGenerator(wellId, begin, end, stepSeconds, format, context); var generator = GetReportGenerator(wellId, begin, end, stepSeconds, format, context);
generator.OnProgress += (s,e) => progressHandler.Invoke(e.progress, e.operation, id); generator.OnProgress += (s, e) => progressHandler.Invoke(e.progress, e.operation, id);
var newReportName = generator.Make(); var newReportName = generator.Make();
if(newReportName is not null) if (newReportName is not null)
{ {
var shorReportName = Path.GetFileName(newReportName); var shorReportName = Path.GetFileName(newReportName);
reportNameHandler.Invoke(shorReportName, id); reportNameHandler.Invoke(shorReportName, id);
@ -111,7 +111,8 @@ namespace AsbCloudInfrastructure.Services
To = g.Max() To = g.Max()
}).OrderBy(gr => gr.From).FirstOrDefault(); }).OrderBy(gr => gr.From).FirstOrDefault();
return new DatesRangeDto { return new DatesRangeDto
{
From = datesRange.From, From = datesRange.From,
To = datesRange.To.Year == 1 ? DateTime.MaxValue : datesRange.To To = datesRange.To.Year == 1 ? DateTime.MaxValue : datesRange.To
}; };
@ -143,7 +144,7 @@ namespace AsbCloudInfrastructure.Services
WithEvents = true WithEvents = true
}; };
switch(format) switch (format)
{ {
case 0: case 0:
return generator; return generator;

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using AsbCloudApp.Services;
using AsbCloudApp.Services;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using System.Collections.Generic;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,7 +1,7 @@
using System; using AsbCloudApp.Services;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using AsbCloudApp.Services;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,6 +1,6 @@
using AsbCloudApp.Data; using AsbCloudApp.Comparators;
using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using AsbCloudApp.Comparators;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using AsbCloudInfrastructure.Services.Cache; using AsbCloudInfrastructure.Services.Cache;
using System.Collections.Generic; using System.Collections.Generic;

View File

@ -2,9 +2,9 @@
using AsbCloudApp.Services; using AsbCloudApp.Services;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using AsbCloudInfrastructure.Services.Cache; using AsbCloudInfrastructure.Services.Cache;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {

View File

@ -1,13 +1,9 @@
using AsbCloudApp.Data; using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using AsbCloudDb.Model; using AsbCloudDb.Model;
using AsbCloudInfrastructure.Services.Cache;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {
@ -23,7 +19,7 @@ namespace AsbCloudInfrastructure.Services
public IEnumerable<DepositDto> GetDeposits(int idCompany) public IEnumerable<DepositDto> GetDeposits(int idCompany)
{ {
var entities = db.GetWellsForCompany(idCompany) var entities = db.GetWellsForCompany(idCompany)
.Select(e=>e.Cluster.Deposit) .Select(e => e.Cluster.Deposit)
.Distinct() .Distinct()
.ToList(); .ToList();
@ -60,7 +56,7 @@ namespace AsbCloudInfrastructure.Services
{ {
var entities = db.GetWellsForCompany(idCompany) var entities = db.GetWellsForCompany(idCompany)
.Select(e => e.Cluster) .Select(e => e.Cluster)
.Where(e=>e.IdDeposit == depositId) .Where(e => e.IdDeposit == depositId)
.Distinct() .Distinct()
.ToList(); .ToList();
@ -120,7 +116,8 @@ namespace AsbCloudInfrastructure.Services
RateOfPenetrationPlan = e.RateOfPenetrationPlan, RateOfPenetrationPlan = e.RateOfPenetrationPlan,
RouteSpeedFact = e.RouteSpeedFact, RouteSpeedFact = e.RouteSpeedFact,
RouteSpeedPlan = e.RouteSpeedPlan, RouteSpeedPlan = e.RouteSpeedPlan,
Sections = e.Sections.Select(s => new WellSectionDto { Sections = e.Sections.Select(s => new WellSectionDto
{
BhaDownSpeedFact = s.BhaDownSpeedFact, BhaDownSpeedFact = s.BhaDownSpeedFact,
BhaDownSpeedPlan = s.BhaDownSpeedPlan, BhaDownSpeedPlan = s.BhaDownSpeedPlan,
BhaUpSpeedFact = s.BhaUpSpeedFact, BhaUpSpeedFact = s.BhaUpSpeedFact,

View File

@ -1,13 +1,13 @@
using System; using AsbCloudApp.Data;
using AsbCloudApp.Services;
using AsbCloudWebApi.Controllers;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Moq;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Security.Claims; using System.Security.Claims;
using Xunit; using Xunit;
using Moq;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using AsbCloudWebApi.Controllers;
using AsbCloudApp.Services;
using AsbCloudApp.Data;
namespace AsbCloudWebApi.Tests.ControllersTests namespace AsbCloudWebApi.Tests.ControllersTests
{ {

View File

@ -1,10 +1,10 @@
using System; using AsbCloudApp.Data;
using System.Linq;
using System.Collections.Generic;
using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {

View File

@ -1,12 +1,8 @@
using AsbCloudApp.Data; using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
@ -45,36 +41,36 @@ namespace AsbCloudWebApi.Controllers
/// <summary> /// <summary>
/// Получение доступных пользователю скважин /// Получение доступных пользователю скважин
/// </summary> /// </summary>
/// <param name="clusterId"></param> /// <param name="idCluster"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("{clusterId}")] [HttpGet("{idCluster}")]
[ProducesResponseType(typeof(IEnumerable<WellDto>), (int)System.Net.HttpStatusCode.OK)] [ProducesResponseType(typeof(IEnumerable<WellDto>), (int)System.Net.HttpStatusCode.OK)]
public IActionResult GetWells(int clusterId) public IActionResult GetWells(int idCluster)
{ {
int? idCompany = User.GetCompanyId(); int? idCompany = User.GetCompanyId();
if (idCompany is null) if (idCompany is null)
return Forbid(); return Forbid();
var result = clusterService.GetWells((int)idCompany, clusterId); var result = clusterService.GetWells((int)idCompany, idCluster);
return Ok(result); return Ok(result);
} }
/// <summary> /// <summary>
/// Получение обопщенной аналитики по кусту (лучшая/худшая скважина) /// Получение обопщенной статистики по кусту (лучшая/худшая скважина)
/// </summary> /// </summary>
/// <param name="clusterId"></param> /// <param name="idCluster"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("{clusterId}/Analysis")] [HttpGet("{idCluster}/Stat")]
[ProducesResponseType(typeof(IEnumerable<WellDrillingStatDto>), (int)System.Net.HttpStatusCode.OK)] [ProducesResponseType(typeof(IEnumerable<WellDrillingStatDto>), (int)System.Net.HttpStatusCode.OK)]
public IActionResult GetAnalysis(int clusterId) public IActionResult GetStat(int idCluster)
{ {
int? idCompany = User.GetCompanyId(); int? idCompany = User.GetCompanyId();
if (idCompany is null) if (idCompany is null)
return Forbid(); return Forbid();
var result = clusterService.GetStat((int)idCompany, clusterId); var result = clusterService.GetStat((int)idCompany, idCluster);
return Ok(result); return Ok(result);
} }
} }

View File

@ -1,12 +1,8 @@
using AsbCloudApp.Data; using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {

View File

@ -1,13 +1,13 @@
using System; using AsbCloudApp.Data;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using AsbCloudApp.Data;
using AsbCloudApp.Services; using AsbCloudApp.Services;
using AsbCloudWebApi.SignalR; using AsbCloudWebApi.SignalR;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.SignalR; using Microsoft.AspNetCore.SignalR;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers namespace AsbCloudWebApi.Controllers
{ {
@ -29,16 +29,18 @@ namespace AsbCloudWebApi.Controllers
this.reportsHubContext = reportsHubContext; this.reportsHubContext = reportsHubContext;
} }
private void HandleReportProgressAsync (float progress, string operation, int id) => private void HandleReportProgressAsync(float progress, string operation, int id) =>
Task.Run(()=> { Task.Run(() =>
{
reportsHubContext.Clients.Group($"Report_{id}").SendAsync( reportsHubContext.Clients.Group($"Report_{id}").SendAsync(
nameof(IReportHubClient.GetReportProgress), nameof(IReportHubClient.GetReportProgress),
new { Progress = progress, Operation = operation, ReportName = "" } new { Progress = progress, Operation = operation, ReportName = "" }
); );
}); });
private void HandleReportNameAsync (string reportName, int groupId) => private void HandleReportNameAsync(string reportName, int groupId) =>
Task.Run(() => { Task.Run(() =>
{
reportsHubContext.Clients.All.SendAsync( reportsHubContext.Clients.All.SendAsync(
nameof(IReportHubClient.GetReportProgress), nameof(IReportHubClient.GetReportProgress),
new { Progress = 100, Operation = "Отчет успешно создан", ReportName = reportName } new { Progress = 100, Operation = "Отчет успешно создан", ReportName = reportName }

View File

@ -44,7 +44,7 @@ namespace AsbCloudWebApi.Controllers
{ {
var idCompany = User.GetCompanyId(); var idCompany = User.GetCompanyId();
if(idCompany is null) if (idCompany is null)
{ {
return NoContent(); return NoContent();
} }

View File

@ -1,6 +1,5 @@
using AsbCloudInfrastructure.Services; using AsbCloudInfrastructure.Services;
using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;

View File

@ -1,6 +1,6 @@
using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.SignalR; using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
namespace AsbCloudWebApi.SignalR namespace AsbCloudWebApi.SignalR
{ {

View File

@ -1,18 +1,15 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1 namespace ConsoleApp1
{ {
public enum WellDepthState {Idle, Increase } public enum WellDepthState { Idle, Increase }
public enum BitDepthState {Idle, Increase, Decrease, OnSurface} public enum BitDepthState { Idle, Increase, Decrease, OnSurface }
public enum BlockState {Idle, Increase, Decrease} public enum BlockState { Idle, Increase, Decrease }
public enum RotorState {Inactive, Active} public enum RotorState { Inactive, Active }
public enum PressureState { Inactive, Active } public enum PressureState { Inactive, Active }
public enum HookWeightState { Idle, None } public enum HookWeightState { Idle, None }
public enum DrillingOperation { public enum DrillingOperation
{
Unknown, Unknown,
RotorDrilling, RotorDrilling,
SlideDrilling, SlideDrilling,

View File

@ -29,7 +29,8 @@ namespace ConsoleApp1
.UseNpgsql("Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True") .UseNpgsql("Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True")
.Options; .Options;
var acfg = new MapperConfiguration(cfg => { var acfg = new MapperConfiguration(cfg =>
{
cfg.CreateMap<DataSaubBase, DataSaubBaseDto>(); cfg.CreateMap<DataSaubBase, DataSaubBaseDto>();
cfg.CreateMap<DataSaubBaseDto, DataSaubBase>(); cfg.CreateMap<DataSaubBaseDto, DataSaubBase>();

View File

@ -1,12 +1,4 @@
using System; namespace DataTable
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text.Json;
namespace DataTable
{ {
class Program class Program
{ {

View File

@ -1,8 +1,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Reflection; using System.Reflection;
using System.ComponentModel;
namespace DataTable namespace DataTable
{ {

View File

@ -4,7 +4,7 @@ using System.Linq;
namespace DataTable namespace DataTable
{ {
public class TableMapper<T> public class TableMapper<T>
where T: new() where T : new()
{ {
private readonly Dictionary<string, PropertyHelper> props; private readonly Dictionary<string, PropertyHelper> props;
@ -25,12 +25,12 @@ namespace DataTable
(table?.Rows is null) || (table?.Rows is null) ||
(!table.Headers.Any()) || (!table.Headers.Any()) ||
(!table.Rows.Any()) || (!table.Rows.Any()) ||
(!props.Any()) ) (!props.Any()))
yield break; yield break;
var headerIdToProp = new Dictionary<int, PropertyHelper>(props.Count); var headerIdToProp = new Dictionary<int, PropertyHelper>(props.Count);
foreach(var (_, propHelper) in props) foreach (var (_, propHelper) in props)
for(var i = 0; i < table.Headers.Count(); i++) for (var i = 0; i < table.Headers.Count(); i++)
{ {
var header = table.Headers.ElementAt(i); var header = table.Headers.ElementAt(i);
var columnType = System.Type.GetType(header.ColumnType); var columnType = System.Type.GetType(header.ColumnType);
@ -64,7 +64,7 @@ namespace DataTable
}).ToArray(); }).ToArray();
var rows = new List<List<object>>(data.Count()); var rows = new List<List<object>>(data.Count());
foreach(var dataItem in data) foreach (var dataItem in data)
rows.Add(MakeRow(dataItem)); rows.Add(MakeRow(dataItem));
table.Rows = rows; table.Rows = rows;

View File

@ -1,9 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataTable namespace DataTable
{ {