last ...
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using xAiModels.Models;
|
||||
using xCommons.Extensions;
|
||||
using xAiModels.Constants;
|
||||
using xAiModels.Models.Dtos;
|
||||
using xExceptions.Constants;
|
||||
using xAiModels.Models.Entities;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace xAiModels.Extensions
|
||||
{
|
||||
@@ -172,5 +176,164 @@ namespace xAiModels.Extensions
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check a Collection Contains Default Project for Specified Owner or not ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="ownerId"></param>
|
||||
/// <returns></returns>
|
||||
public static bool HasDefaultProject(
|
||||
this IEnumerable<XAiProjectDto> source,
|
||||
string ownerId
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate Args ...
|
||||
if (source.HasChild() ||
|
||||
ownerId.IsNullOrEmpty())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var item = source
|
||||
.FirstOrDefault(x =>
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(ownerId.ToNormalString()) &&
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(XAiModelsConstants.DefaultXAiProjectDescriptionResourceID)
|
||||
);
|
||||
|
||||
//
|
||||
var result = !item.IsNullOrDefault();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check a Collection Contains Default Conversation for Specified Project or not ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="ownerId"></param>
|
||||
/// <param name="projectId"></param>
|
||||
/// <returns></returns>
|
||||
public static bool HasDefaultConversation(
|
||||
this IEnumerable<XAiConversationDto> source,
|
||||
string ownerId,
|
||||
Guid projectId
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate Args ...
|
||||
if (source.HasChild() ||
|
||||
projectId.IsDefaultGuid())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var item = source
|
||||
.FirstOrDefault(x =>
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(ownerId.ToNormalString()) &&
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(projectId.ToString().ToNormalString()) &&
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(XAiModelsConstants.DefaultXAiConversationTitleResourceID)
|
||||
);
|
||||
|
||||
//
|
||||
var result = !item.IsNullOrDefault();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Default Project Id from a Collection ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="ownerId"></param>
|
||||
/// <returns></returns>
|
||||
public static Guid GetDafualtProject(
|
||||
this IEnumerable<XAiProjectDto> source,
|
||||
string ownerId
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate Args ...
|
||||
if (source.HasChild() ||
|
||||
ownerId.IsNullOrEmpty())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var item = source
|
||||
.FirstOrDefault(x =>
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(ownerId.ToNormalString()) &&
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(XAiModelsConstants.DefaultXAiProjectDescriptionResourceID)
|
||||
);
|
||||
if (item.IsNullOrDefault())
|
||||
{
|
||||
XException.NotFound.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
return item.Id;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Default Conversation Id from a Collection Contains ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="ownerId"></param>
|
||||
/// <param name="projectId"></param>
|
||||
/// <returns></returns>
|
||||
public static Guid GetDefaultConversation(
|
||||
this IEnumerable<XAiConversationDto> source,
|
||||
string ownerId,
|
||||
Guid projectId
|
||||
)
|
||||
{
|
||||
//
|
||||
// Validate Args ...
|
||||
if (source.HasChild() ||
|
||||
projectId.IsDefaultGuid())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var item = source
|
||||
.FirstOrDefault(x =>
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(ownerId.ToNormalString()) &&
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(projectId.ToString().ToNormalString()) &&
|
||||
x.Title
|
||||
.ToNormalString()
|
||||
.Contains(XAiModelsConstants.DefaultXAiConversationTitleResourceID)
|
||||
);
|
||||
|
||||
//
|
||||
var result = item.Id;
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user