feat(api,dal): В группу работ добавлено поле IsGroupByResponsible
This commit is contained in:
@@ -178,7 +178,8 @@ namespace PARR.API.Controllers.V1
|
||||
ScheduleExcludeTypeId = request.ScheduleExcludeTypeId,
|
||||
ScheduleExcludeTypeCalendarId = request.ScheduleExcludeTypeCalendarId,
|
||||
IsAutoDistributionEnabled = request.IsAutoDistributionEnabled,
|
||||
IsResponseAreaTimezone = request.IsWorkGroupTimezone
|
||||
IsResponseAreaTimezone = request.IsWorkGroupTimezone,
|
||||
IsGroupByResponsible = request.IsGroupByResponsible
|
||||
//IsAgent = request.IsAgent,
|
||||
//AgentName = request.AgentName,
|
||||
//AgentTimeOutSec = request.AgentTimeOutSec,
|
||||
@@ -274,6 +275,8 @@ namespace PARR.API.Controllers.V1
|
||||
orig.ScheduleExcludeTypeCalendarId = request.ScheduleExcludeTypeCalendarId;
|
||||
orig.IsAutoDistributionEnabled = request.IsAutoDistributionEnabled;
|
||||
orig.IsResponseAreaTimezone = request.IsWorkGroupTimezone;
|
||||
// IsGroupByResponsible - может быть значение, только если тип ГРУППОВОЙ
|
||||
orig.IsGroupByResponsible = await GetIsGroupByResponsibleValue(request);
|
||||
//orig.IsAgent = request.IsAgent;
|
||||
//orig.AgentName = request.AgentName;
|
||||
//orig.AgentTimeOutSec = request.AgentTimeOutSec;
|
||||
@@ -492,6 +495,33 @@ namespace PARR.API.Controllers.V1
|
||||
jobGroupResponse.MatchingStatus = await GetMatchingStatusAsync(jobGroupResponse.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получить значение IsGroupByResponsible из реквеста
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<bool?> GetIsGroupByResponsibleValue(JobGroupRequest request)
|
||||
{
|
||||
// IsGroupByResponsible - может быть значение, только если тип ГРУППОВОЙ
|
||||
if (!request.IsGroupByResponsible.HasValue)
|
||||
return null;
|
||||
|
||||
// Если есть значение, смотрим, групповой ли тип работ, и если нет, то вернем null
|
||||
var groupingType = await jobGroupTypeService.Get().FirstAsync(t => t.Code == JobGroupTypesEnum.Group);
|
||||
if (request.GroupTypeId == groupingType.Id)
|
||||
{
|
||||
// это групповой тип работ, все ок
|
||||
return request.IsGroupByResponsible;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Это не сгруппированный тип, обнуляем IsGroupByResponsible
|
||||
logger.LogInformation("При сохраненни JobGroup, был передан IsGroupByResponsible: {IsGroupByResponsible}, но при этом, тип группы не сгруппированный, а GroupTypeId: {GroupTypeId}, обнулил IsGroupByResponsible",
|
||||
request.IsGroupByResponsible, request.GroupTypeId);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Смотрим на тип Группы, и возвращаем GroupingUnitFieldId или обнуляем его
|
||||
@@ -515,7 +545,8 @@ namespace PARR.API.Controllers.V1
|
||||
else
|
||||
{
|
||||
// Это не сгруппированный тип, обнуляем GroupingUnitFieldId
|
||||
logger.LogWarning($"При сохраненни JobGroup, был передан {nameof(request.GroupingUnitFieldId)}: {request.GroupingUnitFieldId}, но при этом тип группы был не ГРУППА, а {request.GroupTypeId}. Обнулил request.GroupingUnitFieldId");
|
||||
logger.LogInformation("При сохраненни JobGroup, был передан GroupingUnitFieldId: {GroupingUnitFieldId}, но при этом, тип группы не сгруппированный, а GroupTypeId: {GroupTypeId}, обнулил GroupingUnitFieldId",
|
||||
request.GroupingUnitFieldId, request.GroupTypeId);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user