added multi language support for doculink attachments
This commit is contained in:
parent
736763d882
commit
6d32e73735
@ -32,6 +32,7 @@ namespace DamageAssesment.Api.DocuLinks.Test
|
||||
doclinksAttachments.Add(new DoculinkAttachments()
|
||||
{
|
||||
docName = "",Path="www.google.com",
|
||||
Language = "en",
|
||||
IsAttachments =false,CustomOrder=1
|
||||
});
|
||||
list.Add(new DocuLinks.Models.ResDoculink()
|
||||
@ -91,6 +92,7 @@ namespace DamageAssesment.Api.DocuLinks.Test
|
||||
docName = "",
|
||||
Path = "www.google.com",
|
||||
IsAttachments = false,
|
||||
Language = "en",
|
||||
CustomOrder = 1
|
||||
});
|
||||
return new Models.Doculink
|
||||
@ -118,6 +120,7 @@ namespace DamageAssesment.Api.DocuLinks.Test
|
||||
docName = "",
|
||||
Path = "www.google.com",
|
||||
IsAttachments = false,
|
||||
Language = "en",
|
||||
CustomOrder = 1
|
||||
});
|
||||
List<DocuLinks.Models.Doculink> DocuLinks = new List<Models.Doculink>();
|
||||
|
@ -14,5 +14,6 @@ namespace DamageAssesment.Api.DocuLinks.Db
|
||||
public string Path { get; set; }
|
||||
public bool IsAttachments { get; set; }
|
||||
public int CustomOrder { get; set; }
|
||||
public string Language { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ namespace DamageAssesment.Api.DocuLinks.Models
|
||||
public string docName { get; set; }
|
||||
public string Path { get; set; }
|
||||
public bool IsAttachments { get; set; }
|
||||
public string Language { get; set; }
|
||||
public int CustomOrder { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -18,5 +18,6 @@ namespace DamageAssesment.Api.DocuLinks.Models
|
||||
public int CustomOrder { get; set; }
|
||||
public string url { get;set; }
|
||||
public bool IsAttachments { get; set; }
|
||||
public string Language { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
}
|
||||
else
|
||||
path = item.url;
|
||||
attachments.Add(new Models.DoculinkAttachments { docName = UserfileName, Path = path, IsAttachments = item.IsAttachments, CustomOrder = item.CustomOrder });
|
||||
attachments.Add(new Models.DoculinkAttachments { docName = UserfileName, Path = path, IsAttachments = item.IsAttachments, CustomOrder = item.CustomOrder,Language=item.Language });
|
||||
}
|
||||
}
|
||||
Documents = new Models.Doculink()
|
||||
@ -104,7 +104,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
}
|
||||
else
|
||||
path = item.url;
|
||||
attachments.Add(new Models.DoculinkAttachments { docName = UserfileName, Path = path, IsAttachments = item.IsAttachments, CustomOrder = item.CustomOrder });
|
||||
attachments.Add(new Models.DoculinkAttachments { docName = UserfileName, Path = path, IsAttachments = item.IsAttachments, CustomOrder = item.CustomOrder,Language=item.Language });
|
||||
}
|
||||
Models.Doculink Documents = new Models.Doculink()
|
||||
{
|
||||
|
@ -135,6 +135,54 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
MultiLanguage = dicttitle;
|
||||
return MultiLanguage;
|
||||
}
|
||||
private List<Models.DoculinkAttachments> GetDocumentAttachment(int id,string? language)
|
||||
{
|
||||
if (string.IsNullOrEmpty(language))
|
||||
{
|
||||
return mapper.Map<List<Db.DoculinkAttachments>, List<Models.DoculinkAttachments>>(
|
||||
DocumentDbContext.DoclinksAttachments.AsNoTracking().Where(a => a.DocumentId == id).ToList());
|
||||
}
|
||||
else
|
||||
{
|
||||
return mapper.Map<List<Db.DoculinkAttachments>, List<Models.DoculinkAttachments>>(
|
||||
DocumentDbContext.DoclinksAttachments.AsNoTracking().Where(a => a.DocumentId == id && a.Language == language).ToList());
|
||||
}
|
||||
}
|
||||
public async Task<(bool IsSuccess, IEnumerable<Models.ResDoculink> documents, string ErrorMessage)> GetdocumentsByLinkTypeIdAsync(int? linkTypeId, string? language, bool? isactive)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
logger?.LogInformation("Query Question");
|
||||
var documents = new List<Db.Doculink>();
|
||||
if (linkTypeId==null)
|
||||
documents = await DocumentDbContext.Documents.AsNoTracking().Where(q => (isactive == null || q.IsActive == isactive.Value)).ToListAsync();
|
||||
else
|
||||
documents = await DocumentDbContext.Documents.AsNoTracking().Where(q => (isactive == null || q.IsActive == isactive.Value) &&
|
||||
q.linkTypeId == linkTypeId.Value).ToListAsync();
|
||||
if (documents != null)
|
||||
{
|
||||
var result = mapper.Map<List<Db.Doculink>, List<Models.ResDoculink>>(documents);
|
||||
foreach (var item in result)
|
||||
{
|
||||
var multilan = CreateMultiLanguageObject(GetDocumentTranslations(item.Id, language));
|
||||
item.titles = multilan.titles;
|
||||
item.description = multilan.description;
|
||||
item.linktypes = CreateMultiLanguageLinkTypeObject(GetLinkTypeTranslations(item.linkTypeId, language));
|
||||
item.doclinksAttachments = GetDocumentAttachment(item.Id,language);
|
||||
}
|
||||
// List<ResDoculinks> doculinks = result.GroupBy(a => a.linkTypeId).Select(a => new ResDoculinks() { linkTypeId = a.Key, doculinks = a.ToList() }).ToList();
|
||||
return (true, result, null);
|
||||
}
|
||||
return (false, null, "Not found");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger?.LogError(ex.ToString());
|
||||
return (false, null, ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
public async Task<(bool IsSuccess, IEnumerable<Models.ResDoculink> documents, string ErrorMessage)> GetdocumentsByLinkAsync(string? linkType, string? language, bool? isactive)
|
||||
{
|
||||
|
||||
@ -156,8 +204,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
item.titles = multilan.titles;
|
||||
item.description = multilan.description;
|
||||
item.linktypes = CreateMultiLanguageLinkTypeObject(GetLinkTypeTranslations(item.linkTypeId, language));
|
||||
item.doclinksAttachments = mapper.Map<List<Db.DoculinkAttachments>, List<Models.DoculinkAttachments>>(
|
||||
DocumentDbContext.DoclinksAttachments.AsNoTracking().Where(a => a.DocumentId == item.Id).ToList());
|
||||
item.doclinksAttachments = GetDocumentAttachment(item.Id, language);
|
||||
}
|
||||
return (true, result, null);
|
||||
}
|
||||
@ -211,8 +258,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
result.documentsTranslations = mapper.Map<List<Db.DoculinkTranslation>, List<Models.DoculinkTranslation>>(
|
||||
DocumentDbContext.DocumentsTranslations.Where(a => a.DocumentId == result.Id).ToList());
|
||||
|
||||
result.doclinksAttachments = mapper.Map<List<Db.DoculinkAttachments>, List<Models.DoculinkAttachments>>(
|
||||
DocumentDbContext.DoclinksAttachments.AsNoTracking().Where(a => a.DocumentId == id).ToList());
|
||||
result.doclinksAttachments = GetDocumentAttachment(id, "");
|
||||
return (true, result, null);
|
||||
}
|
||||
return (false, null, "Not found");
|
||||
@ -244,8 +290,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
result.linktypes = CreateMultiLanguageLinkTypeObject(GetLinkTypeTranslations(result.linkTypeId, language));
|
||||
result.titles = multilan.titles;
|
||||
result.description = multilan.description;
|
||||
result.doclinksAttachments = mapper.Map<List<Db.DoculinkAttachments>, List<Models.DoculinkAttachments>>(
|
||||
DocumentDbContext.DoclinksAttachments.AsNoTracking().Where(a => a.DocumentId == id).ToList());
|
||||
result.doclinksAttachments = GetDocumentAttachment(id, language);
|
||||
return (true, result, null);
|
||||
}
|
||||
return (false, null, "Not found");
|
||||
@ -356,8 +401,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
result.titles = multilan.titles;
|
||||
result.description = multilan.description;
|
||||
result.linktypes = CreateMultiLanguageLinkTypeObject(GetLinkTypeTranslations(result.linkTypeId, ""));
|
||||
result.doclinksAttachments = mapper.Map<List<Db.DoculinkAttachments>, List<Models.DoculinkAttachments>>(
|
||||
DocumentDbContext.DoclinksAttachments.AsNoTracking().Where(a => a.DocumentId == id).ToList());
|
||||
result.doclinksAttachments = GetDocumentAttachment(id, "");
|
||||
Document.IsActive = false;
|
||||
DocumentDbContext.Documents.Update(Document);
|
||||
DocumentDbContext.SaveChanges();
|
||||
|
@ -51,7 +51,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
}
|
||||
else
|
||||
path = item.url;
|
||||
attachments.Add(new Models.DoculinkAttachments { docName=UserfileName,Path=path,IsAttachments=item.IsAttachments,CustomOrder=item.CustomOrder });
|
||||
attachments.Add(new Models.DoculinkAttachments { docName=UserfileName,Path=path,IsAttachments=item.IsAttachments,CustomOrder=item.CustomOrder,Language=item.Language });
|
||||
}
|
||||
}
|
||||
Documents=new Models.Doculink (){ linkTypeId = documentInfo.linkTypeId,
|
||||
@ -93,7 +93,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
|
||||
}
|
||||
else
|
||||
path = item.url;
|
||||
attachments.Add(new Models.DoculinkAttachments { docName = UserfileName, Path = path,IsAttachments=item.IsAttachments,CustomOrder=item.CustomOrder });
|
||||
attachments.Add(new Models.DoculinkAttachments { docName = UserfileName, Path = path,IsAttachments=item.IsAttachments,CustomOrder=item.CustomOrder,Language=item.Language });
|
||||
}
|
||||
Models.Doculink Documents = new Models.Doculink()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user