- namespace FRAMModel.Engine
- {
- [Guid("3C87AE3B-B093-413B-B569-4800085B8E02")]
- [ComVisible(true)]
- [ClassInterface(ClassInterfaceType.None)]
- public class ScoreGenerator : IScoreGenerator
- {
- public ScoreGenerator()
- {}
- public IFRMModelResponse Generate(IFRMModelRequest request)
- {
- var response = new FRMModelResponse();
-
- if (request == null)
- {
- response.ErrorNumber = 1001;
- response.ErrorDescription = "Null request parameter value";
- response.FRMScore = null;
- return response;
- }
- response.FRMScore = new decimal[] { 2, 5, 3, 6 };
- return response;
- }
- }
- }
Input file interface :
- namespace FRAMModel.Engine.ExternalContract
- {
- [Guid("41257D86-84AB-47A4-B09F-110E110988F8")]
- [ComVisible(true)]
- [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
- public interface IFRMModelRequest
- {
- int[] IdxInBlock { get; set; }
- int[] OperationalSectorCount { get; set; }
- int[] IsaHomeStandbyFlag { get; set; }
- string[] StartDateLocalTime { get; set; }
- string[] StartTimeLocalTime { get; set; }
- string[] EndDateLocalTime { get; set; }
- string[] EndTimeLocalTime { get; set; }
- string[] EndDateCrewReferenceTime { get; set; }
- string[] EndTimeCrewReferenceTime { get; set; }
- string[] StartDateTimeZulu { get; set; }
- string[] EndDateTimeZulu { get; set; }
- string[] DutyLength { get; set; }
- int[] IsDutyMorningStart { get; set; }
- int[] IsDutyEveningFinish { get; set; }
- int[] IsDutyNightFinish { get; set; }
- int[] IsDutyElongated { get; set; }
- int[] IsDutyHighSector { get; set; }
- string[] HoursBetweenMidnight { get; set; }
- }
- }
Input file class :
- namespace FRAMModel.Engine.ExternalContract
- {
- [Guid("8B1B03EB-E0F4-4CCB-B334-1854D2BF20C5")]
- [ComVisible(true)]
- [ClassInterface(ClassInterfaceType.None)]
- public class FRMModelRequest : IFRMModelRequest
- {
- public FRMModelRequest()
- { }
- int[] IdxInBlock { get; set; }
- int[] OperationalSectorCount { get; set; }
- int[] IsaHomeStandbyFlag { get; set; }
- string[] StartDateLocalTime { get; set; }
- string[] StartTimeLocalTime { get; set; }
- string[] EndDateLocalTime { get; set; }
- string[] EndTimeLocalTime { get; set; }
- string[] EndDateCrewReferenceTime { get; set; }
- string[] EndTimeCrewReferenceTime { get; set; }
- string[] StartDateTimeZulu { get; set; }
- string[] EndDateTimeZulu { get; set; }
- string[] DutyLength { get; set; }
- int[] IsDutyMorningStart { get; set; }
- int[] IsDutyEveningFinish { get; set; }
- int[] IsDutyNightFinish { get; set; }
- int[] IsDutyElongated { get; set; }
- int[] IsDutyHighSector { get; set; }
- string[] HoursBetweenMidnight { get; set; }
- }
- }
Response file interface :
- namespace FRAMModel.Engine.ExternalContract
- {
- [Guid("293045D7-9BFC-46C3-95A7-5046994CD131")]
- [ComVisible(true)]
- [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
- public interface IFRMModelResponse
- {
- decimal[] FRMScore { get; set; }
- int ErrorNumber { get; set; }
- string ErrorDescription { get; set; }
- }
- }
- namespace EasyJet.FRAMModel.Engine.ExternalContract
- {
- [Guid("170C6A12-4B21-4DB1-AB3F-DE0CCB9B243A")]
- [ComVisible(true)]
- [ClassInterface(ClassInterfaceType.None)]
- public class FRMModelResponse : IFRMModelResponse
- {
- public FRMModelResponse()
- {}
-
- decimal[] FRMScore { get; set; }
- int ErrorNumber { get; set; }
- string ErrorDescription { get; set; }
- }
- }
we don't have deplhi environment to test. We are assuming from error that they are testing it on some C++ application. But nothing helps.
We have done setting on build :
Make assembly COM-Visible : True
Register for COM-Interop : True
We have craeted strong name for assembly and sign it.
Please help