Creado apartir del commit b888de6c92056de294456f581a56e25e734d4ab7 de develop

This commit is contained in:
jrojas
2026-06-26 09:52:35 +02:00
commit 319fd3dfb0
746 changed files with 106610 additions and 0 deletions
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class AccessControlList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class AllergyList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class AltableOptionList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class DestinationList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class DiagnosisList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class DischargeStatusList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class DoctorList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class DoctorTypeList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class GenericList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class InsulationList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class InternalDestinationList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class LanguageBarrierList : MasterList;
@@ -0,0 +1,102 @@
using adas_core.Domain.Enums;
using MongoDB.Bson;
namespace adas_core.Domain.Models.Masters;
public class MasterList
{
public ObjectId Id { get; set; }
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public string ManualObservationName { get; set; } = "UnknownMasterList";
public List<string> AutoObservationName { get; set; } = [];
public MasterListType ListType { get; set; }
public bool CanAddElement { get; set; }
public OptionListDetails? OptionListDetails { get; set; }
public LocaleEnum? DefaultLocale { get; set; }
public List<OptionList> Options { get; set; } = [];
public MasterList ReturnMasterListOptionsInLocaleIfExist(LocaleEnum? localeToReturn)
{
if (localeToReturn == null) return this;
var optionsConverted = new List<OptionList>();
foreach (var opt in Options)
{
// 1. Obtener traducción del locale
string? translatedName = null;
if (opt.LocaleItems != null)
{
var localeProp = opt.LocaleItems
.GetType()
.GetProperty(localeToReturn.Value.ToString());
var localeItem = localeProp?.GetValue(opt.LocaleItems) as LocaleItem;
translatedName = localeItem?.Name;
}
// 2. Usar traducción si existe, sino fallback
var finalName = !string.IsNullOrWhiteSpace(translatedName)
? translatedName
: opt.Name;
// 3. Crear nueva opción convertida
var newOpt = new OptionList
{
Id = opt.Id,
Name = finalName,
OptionType = opt.OptionType,
Description = opt.Description,
Color = opt.Color,
BgColor = opt.BgColor,
IconDefault = opt.IconDefault,
IconCategory = opt.IconCategory,
IconColor = opt.IconColor,
InitDate = opt.InitDate,
EndDate = opt.EndDate,
IsDefault = opt.IsDefault,
// Mantener todos los LocaleItems originales
LocaleItems = opt.LocaleItems
};
optionsConverted.Add(newOpt);
}
// 4. Clonar el master pero con las opciones nuevas
return new MasterList
{
Id = Id,
Name = Name,
Description = Description,
ManualObservationName = ManualObservationName,
AutoObservationName = new List<string>(AutoObservationName),
ListType = ListType,
CanAddElement = CanAddElement,
OptionListDetails = OptionListDetails,
DefaultLocale = DefaultLocale,
Options = optionsConverted
};
}
}
public class OptionListDetails
{
public Element? OptionType { get; set; }
public Element? Name { get; set; }
public Element? IconDefault { get; set; }
public Element? IconCategory { get; set; }
public Element? IconColor { get; set; }
public Element? Color { get; set; }
public Element? BgColor { get; set; }
public Element? Description { get; set; }
}
public class Element
{
public string Title { get; set; } = string.Empty;
public bool IsRequired { get; set; }
public bool IsList { get; set; } = false;
public string ListName { get; set; } = string.Empty;
}
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class MobilityOptionList : MasterList;
@@ -0,0 +1,73 @@
using MongoDB.Bson;
namespace adas_core.Domain.Models.Masters;
public class OptionList
{
public ObjectId? Id { get; set; }
public Locale? LocaleItems { get; set; }
public string? OptionType { get; set; }
public string Name { get; set; } = string.Empty;
public string? IconDefault { get; set; }
public string? IconCategory { get; set; }
public string? IconColor { get; set; }
public string? Color { get; set; }
public string? BgColor { get; set; }
public string? Description { get; set; }
public DateTime? InitDate { get; set; }
public DateTime? EndDate { get; set; }
public bool? IsDefault { get; set; }
public bool AreEqual(OptionList a, OptionList b)
{
return a.OptionType == b.OptionType &&
a.Name == b.Name &&
a.IconDefault == b.IconDefault &&
a.IconCategory == b.IconCategory &&
a.IconColor == b.IconColor &&
a.Color == b.Color &&
a.BgColor == b.BgColor &&
a.IsDefault == b.IsDefault &&
a.Description == b.Description &&
a.InitDate == b.InitDate &&
a.EndDate == b.EndDate;
}
public bool AreEqualExcludeDescription(OptionList a, OptionList b)
{
return a.OptionType == b.OptionType &&
a.Name == b.Name &&
a.IconDefault == b.IconDefault &&
a.IconCategory == b.IconCategory &&
a.IconColor == b.IconColor &&
a.Color == b.Color &&
a.BgColor == b.BgColor &&
a.IsDefault == b.IsDefault &&
a.InitDate == b.InitDate &&
a.EndDate == b.EndDate;
}
}
public class Locale
{
public LocaleItem? Es { get; set; }
public LocaleItem? Pt { get; set; }
public LocaleItem? Ca { get; set; }
public LocaleItem? Eng { get; set; }
public LocaleItem? Zh { get; set; }
}
public class LocaleItem
{
public string? Name { get; set; }
}
public enum LocaleEnum
{
Default,
Es,
Pt,
Ca,
Eng,
Zh
}
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class OriginList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class PassiveSittingList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class PatientStatusList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class ProcedureList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class ServiceList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class TestList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class TherapeuticCeilingList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class TreatmentList : MasterList;
@@ -0,0 +1,3 @@
namespace adas_core.Domain.Models.Masters;
public class VisitOptionList : MasterList;