Yes I have tried a few different combinations, I have no idea why its making the request as an http instead of an https "App": { "SelfUrl": "https://medistat.co.za/MedistatApi", "AngularUrl": "https://medistat.co.za/MedistatWeb", "CorsOrigins": "https://*.Medistat.com,https://medistat.co.za/MedistatWeb,http://medistat.co.za/MedistatWeb,http://medistat.co.za,https://medistat.co.za,https://localhost:4200", "RedirectAllowedUrls": "https://localhost:4200" },
Yes I see that, I'm allowing both http and https in the config. I'm not sure why its making the request in http though because the site is deployed and configured in IIS to use https
Hi
Thanks very much for this, not sure where that extra bit of configuration came from. The fix you suggested has solved that problem. But I'm still not able to use the API correctly in swagger. It seems its a CORS issue. I've pasted a snippet from the log file as well as the configuration file. I'm not sure what I'm doing wrong because as you can see in the configuration ive configured CORS. Is there another place that this also needs to be configured
2022-05-19 12:21:41.001 +02:00 [INF] CORS policy execution failed. 2022-05-19 12:21:41.001 +02:00 [INF] Request origin http://medistat.co.za does not have permission to access the resource. 2022-05-19 12:21:41.008 +02:00 [INF] No CORS policy found for the specified request. 2022-05-19 12:21:41.009 +02:00 [INF] Executing endpoint 'Volo.Abp.Account.Public.Web.Areas.Account.Controllers.AccountController.Login (Volo.Abp.Account.Pro.Public.Web)' 2022-05-19 12:21:41.027 +02:00 [INF] Route matched with {controller = "Login", area = "account", action = "Login", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Volo.Abp.Account.Public.Web.Areas.Account.Controllers.Models.AbpLoginResult] Login(Volo.Abp.Account.Public.Web.Areas.Account.Controllers.Models.UserLoginInfo) on controller Volo.Abp.Account.Public.Web.Areas.Account.Controllers.AccountController (Volo.Abp.Account.Pro.Public.Web). 2022-05-19 12:21:41.635 +02:00 [INF] Try to use LDAP for external authentication 2022-05-19 12:21:41.704 +02:00 [WRN] Ldap login feature is not enabled!
"App": { "SelfUrl": "https://medistat.co.za/MedistatApi", "AngularUrl": "https://medistat.co.za/MedistatWeb", "CorsOrigins": "https://*.Medistat.com,https://medistat.co.za/MedistatWeb,http://medistat.co.za/MedistatWeb,https://localhost:4200", "RedirectAllowedUrls": "https://localhost:4200" },
hi
see https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks/issues/700#issuecomment-745881226
Hi
I'm not able to make sense of what is in the forum. I can see that I need to change the url of the health check to be explicit, but I'm not usre where to change it because I dont have any settings for health check in my app config file.
hi
Can you share your
appsettings.json
?
Hi any update on this, I need to deploy this application and I'm not able to see what this issue is
hi
Can you share your
appsettings.json
?
{ "App": { "SelfUrl": "https://localhost:44325", "AngularUrl": "http://localhost:4200", "CorsOrigins": "https://.Medistat.com,http://localhost:4200", "RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" }, "Redis": { "Configuration": "127.0.0.1" }, "ConnectionStrings": { "Default": "Server=(local);Database=MedistatABP;Trusted_Connection=false;User ID=MedistatUser;Password=L#vaH4buZ25WjB9", "Discovery": "Server=(local);Database=MedistatDiscovery;Trusted_Connection=false;User ID=MedistatUser;Password=L#vaH4buZ25WjB9", "Edi": "Server=(local);Database=MedistatEdi;Trusted_Connection=false;User ID=MedistatUser;Password=L#vaH4buZ25WjB9", "Msv": "Server=(local);Database=MedistatMsv;Trusted_Connection=false;User ID=MedistatUser;Password=L#vaH4buZ25WjB9" }, "AuthServer": { "Authority": "https://localhost:44325", "RequireHttpsMetadata": "false", "SwaggerClientId": "Medistat_Swagger", "SwaggerClientSecret": "1q2w3e" }, "StringEncryption": { "DefaultPassPhrase": "fsfXFsKSwfobK4Fr" }, "Settings": { "Volo.Abp.LeptonTheme.Style": "Style6", "Volo.Abp.LeptonTheme.Layout.MenuPlacement": "Left", "Volo.Abp.LeptonTheme.Layout.MenuStatus": "AlwaysOpened", "Volo.Abp.LeptonTheme.Layout.Boxed": "False", "Medistat.DiscoveryHPQServiceUrl": "https://test.b2b.services.discovery.co.za/hpq/HealthPolicyQueryService?wsdl", "Medistat.DiscoveryHPQServiceUsername": "medistat-test", "Medistat.DiscoveryHPQServicePassword": "ahUaki7Rwlsz1MaghzuyP", "Medistat.DiscoveryClaimServiceUrl": "https://test.services.discovery.co.za/phisc-oh/IncomingPhiscOHClaims", "Medistat.DiscoveryClaimServiceUsername": "medistat", "Medistat.DiscoveryClaimServicePassword": "jkshi97HgsiJWavDg92gtfZCfrC0UDtby", "Medistat.DiscoveryMedicalAidAdmin": "DISCOVERY", "Medistat.MediswitchWebserviceUrl": "http://wsgateway.mediswitch.co.za/qa/wsgateway/MediswitchGateway", "Medistat.MediswitchPackageCode": "SWITCHON", "Medistat.MediswitchMsvVersionNumber": "119", "Medistat.MediswitchClaimVersionNumber": "118"
} }
I cannot use the generic reposo if I inherit from AuditEntity
What is the error?
From What I can see, if I take the type out of the AuditedEntity declaration then it does not allow you to use the generic repos.
I have another class detailed below. MemoId is the primary key for the table, so I do not need the Id property, If I inherit the class from AuditedEntity<Guid> then the migration creates the Id property if I use AuditedEntity like below then the migration does not create the Id column. The problem is that if I enherit from AuditedEntity then I cannot use the generic repo, the application service is giving me an error There is no implicit conversion between AccountMemo and IEntity<System.Guid>
public partial class AccountMemo : AuditedEntity { public AccountMemo() { AccountMemoAttachments = new HashSet<AccountMemoAttachment>(); PracticeMemoSessionAccountMemos = new HashSet<PracticeMemoSessionAccountMemo>(); Transactions = new HashSet<Transaction>(); // AccountMemoTransactions = new HashSet<AccountMemoTransaction>(); }
//[NotMapped]
//public override Guid Id
//{
// get { return new Guid(); }
//}
public Guid MemoId { get; set; }
public Guid AccountId { get; set; }
public int? UserId { get; set; }
public int? AccountMemoTypeId { get; set; }
public DateTime Date { get; set; }
public string Memo { get; set; }
public bool IsArchived { get; set; }
public virtual Account Account { get; set; }
public virtual AccountMemoType AccountMemoType { get; set; }
public virtual SecurityUser User { get; set; }
public virtual ICollection<AccountMemoAttachment> AccountMemoAttachments { get; set; }
public virtual ICollection<PracticeMemoSessionAccountMemo> PracticeMemoSessionAccountMemos { get; set; }
//public virtual ICollection<AccountMemoTransaction> AccountMemoTransactions { get; set; }
public virtual ICollection<Transaction> Transactions { get; set; }
public override object[] GetKeys()
{
return new object[] { MemoId };
}
}
public class AccountMemoAppService :
CrudAppService<
AccountMemo,
AccountMemoDto,
Guid,
PagedAndSortedResultRequestDto,
AccountMemoCreateUpdateDto>,
IAccountMemoAppService
{
public AccountMemoAppService(IRepository<AccountMemo, Guid> repository)
: base(repository)
{
}
Hi,
You can try this:
public partial class Practice : AuditedEntity { //........ public int PracticeId { get; set; } public override object[] GetKeys() { return new object[] { PracticeId }; } }
The problem with this solution is that I cannot use the generic reposo if I inherit from AuditEntity. I still need to use the repos with the entity
Hi,
What is the
Practice
entity look like, can you share some code?
Hi, Please find the class definition
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
namespace Blurush.Medistat.Domain
{
public partial class Practice
{
public Practice()
{
Accounts = new HashSet<Account>();
BulkClaimDetails = new HashSet<BulkClaimDetail>();
BulkClaimHeaders = new HashSet<BulkClaimHeader>();
CapitationFileImports = new HashSet<CapitationFileImport>();
Correspondences = new HashSet<Correspondence>();
CounsellingMessages = new HashSet<CounsellingMessage>();
Creditors = new HashSet<Creditor>();
DebtCollectors = new HashSet<DebtCollector>();
DesignatedServiceProviders = new HashSet<DesignatedServiceProvider>();
DiagnosisCodes = new HashSet<DiagnosisCode>();
Doctors = new HashSet<Doctor>();
EdiTransmissionBatches = new HashSet<EdiTransmissionBatch>();
EdidestinationConfigurations = new HashSet<EdidestinationConfiguration>();
EraglobalConfigurations = new HashSet<EraglobalConfiguration>();
GlobalTariffs = new HashSet<GlobalTariff>();
Invoices = new HashSet<Invoice>();
Laboratories = new HashSet<Laboratory>();
LogReportViews = new HashSet<LogReportView>();
LogTransactionTreatmentCodes = new HashSet<LogTransactionTreatmentCode>();
Macros = new HashSet<Macro>();
MedicalAidPackagePriceIncreases = new HashSet<MedicalAidPackagePriceIncrease>();
MedicalAidPmbexclusions = new HashSet<MedicalAidPmbexclusion>();
MedicalAidPriceIncreaseContracts = new HashSet<MedicalAidPriceIncreaseContract>();
MedicalAidPriceIncreases = new HashSet<MedicalAidPriceIncrease>();
MedicalAidTreatmentModifierOverrides = new HashSet<MedicalAidTreatmentModifierOverride>();
MedicalCertificates = new HashSet<MedicalCertificate>();
Modifiers = new HashSet<Modifier>();
PatientClinicalNotes = new HashSet<PatientClinicalNote>();
Patients = new HashSet<Patient>();
PracticeMedicalAidContracts = new HashSet<PracticeMedicalAidContract>();
PracticeMedicalAidPlanTypeTreatmentExclusions = new HashSet<PracticeMedicalAidPlanTypeTreatmentExclusion>();
PracticeMedicalAidPriceIncreaseContracts = new HashSet<PracticeMedicalAidPriceIncreaseContract>();
PracticeMedicalAidTreatmentPrices = new HashSet<PracticeMedicalAidTreatmentPrice>();
PracticeMedicalAidWebLogins = new HashSet<PracticeMedicalAidWebLogin>();
PracticeMedicalAids = new HashSet<PracticeMedicalAid>();
PracticeMemoSessions = new HashSet<PracticeMemoSession>();
PracticeMonthEndDateConfigurations = new HashSet<PracticeMonthEndDateConfiguration>();
PracticeMonthEndReports = new HashSet<PracticeMonthEndReport>();
PracticeMonthEndVatHistories = new HashSet<PracticeMonthEndVatHistory>();
PracticeSystemParameters = new HashSet<PracticeSystemParameter>();
Prescriptions = new HashSet<Prescription>();
ProcedureRequests = new HashSet<ProcedureRequest>();
Quotations = new HashSet<Quotation>();
Recalls = new HashSet<Recall>();
ReportParameterValues = new HashSet<ReportParameterValue>();
Scripts = new HashSet<Script>();
SystemParameterValues = new HashSet<SystemParameterValue>();
Tasks = new HashSet<Task>();
Transactions = new HashSet<Transaction>();
TransmissionSummaryLogs = new HashSet<TransmissionSummaryLog>();
TreatmentCodes = new HashSet<TreatmentCode>();
UserLoginHistories = new HashSet<UserLoginHistory>();
Vendors = new HashSet<Vendor>();
Depots = new HashSet<Depot>();
Icd10s = new HashSet<Icd10>();
MedicalAids = new HashSet<MedicalAid>();
MedicineMarkupStructures = new HashSet<MedicineMarkupStructure>();
PlaceOfServices = new HashSet<PlaceOfService>();
PlaceOfTreatments = new HashSet<PlaceOfTreatment>();
PriceIncreaseContracts = new HashSet<PriceIncreaseContract>();
Sms = new HashSet<Sms>();
Terms = new HashSet<Term>();
}
public int PracticeId { get; set; }
public int? MedicalAidBankId { get; set; }
public int? PatientBankId { get; set; }
public int? WcaBankId { get; set; }
public int? OtherBankId { get; set; }
public int? MedicalAidBankAccountTypeId { get; set; }
public int? PatientBankAccountTypeId { get; set; }
public int? WcaBankAccountTypeId { get; set; }
public int? OtherBankAccountTypeId { get; set; }
public int? PracticeTypeId { get; set; }
public int? PostalCodeId { get; set; }
public int? PhysicalPostalCodeId { get; set; }
public int? PracticeNumber { get; set; }
public string Surname { get; set; }
public string Initials { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public string RegistrationNumber { get; set; }
public string VatNumber { get; set; }
public string PhysicalAddressLine1 { get; set; }
public string PhysicalAddressLine2 { get; set; }
public string PhysicalAddressLine3 { get; set; }
public string PhysicalAddressLine4 { get; set; }
public string PostalAddressLine1 { get; set; }
public string PostalAddressLine2 { get; set; }
public string PostalAddressLine3 { get; set; }
public string PostalAddressLine4 { get; set; }
public string AccountNumber1 { get; set; }
public string BranchCode1 { get; set; }
public string BranchName1 { get; set; }
public string SwiftCode1 { get; set; }
public string AccountNumber2 { get; set; }
public string BranchCode2 { get; set; }
public string BranchName2 { get; set; }
public string SwiftCode2 { get; set; }
public string AccountNumber3 { get; set; }
public string BranchCode3 { get; set; }
public string BranchName3 { get; set; }
public string SwiftCode3 { get; set; }
public string AccountNumber4 { get; set; }
public string BranchCode4 { get; set; }
public string BranchName4 { get; set; }
public string SwiftCode4 { get; set; }
public string HomeTelephone { get; set; }
public string WorkTelephone { get; set; }
public string MobileTelephone { get; set; }
public string FaxNumber { get; set; }
public string PagerNumber { get; set; }
public string EmergencyNumber { get; set; }
public string EmailAddress { get; set; }
public string EmailAddress2 { get; set; }
public string EmailAddress3 { get; set; }
public string EmailAddressDayEnd { get; set; }
public DateTime? JoinDate { get; set; }
public string SwitchSourceId { get; set; }
public string SwitchSourcePassword { get; set; }
public string SwitchIpaddress { get; set; }
public int? SwitchPort { get; set; }
public short? SwitchFeedbackInterval { get; set; }
public bool? IsCommunicationsActive { get; set; }
public string TermsAndConditions { get; set; }
public string BillingPolicy { get; set; }
public double? Pf { get; set; }
public bool IsLiveSwitchEdi { get; set; }
public bool? IsAutomatedMonthEndActive { get; set; }
public bool? IsAutomatedMonthEndEmailActive { get; set; }
public bool IsMedpraxActive { get; set; }
public bool? IsDayEndReportToBeEmailed { get; set; }
public bool IsPrivate { get; set; }
public bool IsExternalSmsAllowed { get; set; }
[ForeignKey("MedicalAidBankId")]
public virtual Bank MedicalAidBank { get; set; }
[ForeignKey("MedicalAidBankAccountTypeId")]
public virtual BankAccountType MedicalAidBankAccountType { get; set; }
[ForeignKey("OtherBankId")]
public virtual Bank OtherBank { get; set; }
[ForeignKey("OtherBankAccountTypeId")]
public virtual BankAccountType OtherBankAccountType { get; set; }
[ForeignKey("PatientBankId")]
public virtual Bank PatientBank { get; set; }
[ForeignKey("PatientBankAccountTypeId")]
public virtual BankAccountType PatientBankAccountType { get; set; }
[ForeignKey("PhysicalPostalCodeId")]
public virtual PostalCode PhysicalPostalCode { get; set; }
[ForeignKey("PostalCodeId")]
public virtual PostalCode PostalCode { get; set; }
public virtual PracticeType PracticeType { get; set; }
[ForeignKey("WcaBankId")]
public virtual Bank WcaBank { get; set; }
[ForeignKey("WcaBankAccountTypeId")]
public virtual BankAccountType WcaBankAccountType { get; set; }
public virtual ICollection<Account> Accounts { get; set; }
public virtual ICollection<BulkClaimDetail> BulkClaimDetails { get; set; }
public virtual ICollection<BulkClaimHeader> BulkClaimHeaders { get; set; }
public virtual ICollection<CapitationFileImport> CapitationFileImports { get; set; }
public virtual ICollection<Correspondence> Correspondences { get; set; }
public virtual ICollection<CounsellingMessage> CounsellingMessages { get; set; }
public virtual ICollection<Creditor> Creditors { get; set; }
public virtual ICollection<DebtCollector> DebtCollectors { get; set; }
public virtual ICollection<DesignatedServiceProvider> DesignatedServiceProviders { get; set; }
public virtual ICollection<DiagnosisCode> DiagnosisCodes { get; set; }
public virtual ICollection<Doctor> Doctors { get; set; }
public virtual ICollection<EdiTransmissionBatch> EdiTransmissionBatches { get; set; }
public virtual ICollection<EdidestinationConfiguration> EdidestinationConfigurations { get; set; }
public virtual ICollection<EraglobalConfiguration> EraglobalConfigurations { get; set; }
public virtual ICollection<GlobalTariff> GlobalTariffs { get; set; }
public virtual ICollection<Invoice> Invoices { get; set; }
public virtual ICollection<Laboratory> Laboratories { get; set; }
public virtual ICollection<LogReportView> LogReportViews { get; set; }
public virtual ICollection<LogTransactionTreatmentCode> LogTransactionTreatmentCodes { get; set; }
public virtual ICollection<Macro> Macros { get; set; }
public virtual ICollection<MedicalAidPackagePriceIncrease> MedicalAidPackagePriceIncreases { get; set; }
public virtual ICollection<MedicalAidPmbexclusion> MedicalAidPmbexclusions { get; set; }
public virtual ICollection<MedicalAidPriceIncreaseContract> MedicalAidPriceIncreaseContracts { get; set; }
public virtual ICollection<MedicalAidPriceIncrease> MedicalAidPriceIncreases { get; set; }
public virtual ICollection<MedicalAidTreatmentModifierOverride> MedicalAidTreatmentModifierOverrides { get; set; }
public virtual ICollection<MedicalCertificate> MedicalCertificates { get; set; }
public virtual ICollection<Modifier> Modifiers { get; set; }
public virtual ICollection<PatientClinicalNote> PatientClinicalNotes { get; set; }
public virtual ICollection<Patient> Patients { get; set; }
public virtual ICollection<PracticeMedicalAidContract> PracticeMedicalAidContracts { get; set; }
public virtual ICollection<PracticeMedicalAidPlanTypeTreatmentExclusion> PracticeMedicalAidPlanTypeTreatmentExclusions { get; set; }
public virtual ICollection<PracticeMedicalAidPriceIncreaseContract> PracticeMedicalAidPriceIncreaseContracts { get; set; }
public virtual ICollection<PracticeMedicalAidTreatmentPrice> PracticeMedicalAidTreatmentPrices { get; set; }
public virtual ICollection<PracticeMedicalAidWebLogin> PracticeMedicalAidWebLogins { get; set; }
public virtual ICollection<PracticeMedicalAid> PracticeMedicalAids { get; set; }
public virtual ICollection<PracticeMemoSession> PracticeMemoSessions { get; set; }
public virtual ICollection<PracticeMonthEndDateConfiguration> PracticeMonthEndDateConfigurations { get; set; }
public virtual ICollection<PracticeMonthEndReport> PracticeMonthEndReports { get; set; }
public virtual ICollection<PracticeMonthEndVatHistory> PracticeMonthEndVatHistories { get; set; }
public virtual ICollection<PracticeSystemParameter> PracticeSystemParameters { get; set; }
public virtual ICollection<Prescription> Prescriptions { get; set; }
public virtual ICollection<ProcedureRequest> ProcedureRequests { get; set; }
public virtual ICollection<Quotation> Quotations { get; set; }
public virtual ICollection<Recall> Recalls { get; set; }
public virtual ICollection<ReportParameterValue> ReportParameterValues { get; set; }
public virtual ICollection<Script> Scripts { get; set; }
public virtual ICollection<SystemParameterValue> SystemParameterValues { get; set; }
public virtual ICollection<Task> Tasks { get; set; }
public virtual ICollection<Transaction> Transactions { get; set; }
public virtual ICollection<TransmissionSummaryLog> TransmissionSummaryLogs { get; set; }
public virtual ICollection<TreatmentCode> TreatmentCodes { get; set; }
public virtual ICollection<UserLoginHistory> UserLoginHistories { get; set; }
public virtual ICollection<Vendor> Vendors { get; set; }
public virtual ICollection<Depot> Depots { get; set; }
public virtual ICollection<Icd10> Icd10s { get; set; }
public virtual ICollection<MedicalAid> MedicalAids { get; set; }
public virtual ICollection<MedicineMarkupStructure> MedicineMarkupStructures { get; set; }
public virtual ICollection<PlaceOfService> PlaceOfServices { get; set; }
public virtual ICollection<PlaceOfTreatment> PlaceOfTreatments { get; set; }
public virtual ICollection<PriceIncreaseContract> PriceIncreaseContracts { get; set; }
public virtual ICollection<Sms> Sms { get; set; }
public virtual ICollection<Term> Terms { get; set; }
}
}