public MobileRepository(MobilesContext mobilesContext, IEnumConverter enumConverter, IDateTimeCreator dateTimeCreator) { this.mobilesContext = mobilesContext; this.enumConverter = enumConverter; this.dateTimeCreator = dateTimeCreator; }
public ActivationCodesController(ILogger <ActivationCodesController> logger, IDataStore dataStore, IDateTimeCreator dateTimeCreator) { this.logger = logger; this.dataStore = dataStore; this.dateTimeCreator = dateTimeCreator; }
public MobileWhenNewBuilder(IDateTimeCreator dateTimeCreator, Guid globalId, Guid customerId, PhoneNumber phoneNumber) { this.dateTimeCreator = dateTimeCreator; this.globalId = globalId; this.customerId = customerId; this.enumConverter = new EnumConverter(); this.phoneNumber = phoneNumber; }
public CustomersService(ILogger <CustomersService> logger, IGuidCreator guidCreator, IDateTimeCreator dateTimeCreator, ICustomerRepository customerRepository, IRepository <Mobile> mobileRepository) { this.logger = logger; this.guidCreator = guidCreator; this.dateTimeCreator = dateTimeCreator; this.customerRepository = customerRepository; this.mobileRepository = mobileRepository; }
public MobileBehaviour(IDateTimeCreator dateTimeCreator, MobileDataEntity mobileDataEntity) { this.dateTimeCreator = dateTimeCreator; var enumConverter = new EnumConverter(); var initialState = MobileState.New; if (mobileDataEntity.State != null) { initialState = enumConverter.ToEnum <MobileState>(mobileDataEntity.State); } machine = new StateMachine <MobileState, Trigger>(initialState); machine.Configure(MobileState.New) .Permit(Trigger.Provision, MobileState.ProcessingProvision); machine.Configure(MobileState.ProcessingProvision) .Permit(Trigger.ProcessingProvisionCompleted, MobileState.WaitingForActivate) .OnEntry(() => { CreateNewOrder(); }) .OnExit(() => { CompleteInProgressOrder(); }); machine.Configure(MobileState.WaitingForActivate) .Permit(Trigger.Activate, MobileState.ProcessingActivate); machine.Configure(MobileState.ProcessingActivate) .Permit(Trigger.ActivateCompleted, MobileState.Live) .Permit(Trigger.ActivateRejected, MobileState.WaitingForActivate) .OnEntry(() => { CreateNewOrder(); }) .OnExit(() => { if (isOrderRejected) { RejectInProgressOrder(); } else { CompleteInProgressOrder(); } }); machine.Configure(MobileState.Live) .Permit(Trigger.Cease, MobileState.ProcessingCease); machine.Configure(MobileState.ProcessingCease) .Permit(Trigger.CeaseCompleted, MobileState.Ceased) .OnEntry(() => { CreateNewOrder(); }) .OnExit(() => { CompleteInProgressOrder(); }); machine.Configure(MobileState.Ceased); machine.Configure(MobileState.New).Permit(Trigger.PortIn, MobileState.ProcessingPortIn); machine.Configure(MobileState.ProcessingPortIn).Permit(Trigger.PortInCompleted, MobileState.Live); machine.Configure(MobileState.Live).Permit(Trigger.Suspend, MobileState.Suspended); machine.Configure(MobileState.Suspended).Permit(Trigger.Resume, MobileState.Live); machine.Configure(MobileState.Live).Permit(Trigger.ReplaceSim, MobileState.Suspended); machine.Configure(MobileState.Live).Permit(Trigger.RequestPac, MobileState.ProcessingPortOut); machine.Configure(MobileState.ProcessingPortOut).Permit(Trigger.PortOutCompleted, MobileState.PortedOut); }
public GetProcessingProvisionMobilesQuery(MobilesContext mobilesContext, IDateTimeCreator dateTimeCreator) { this.mobilesContext = mobilesContext; this.dateTimeCreator = dateTimeCreator; }
public GetNewProvisionsQuery(MobilesContext mobilesContext, IDateTimeCreator dateTimeCreator) { this.mobilesContext = mobilesContext; this.dateTimeCreator = dateTimeCreator; }
public GetNewActivatesQuery(MobilesContext mobilesContext, IDateTimeCreator dateTimeCreator) { this.mobilesContext = mobilesContext; this.dateTimeCreator = dateTimeCreator; }
public GetMobileByOrderIdQuery(MobilesContext mobilesContext, IDateTimeCreator dateTimeCreator) { this.mobilesContext = mobilesContext; this.dateTimeCreator = dateTimeCreator; }
public Mobile(IDateTimeCreator dateTimeCreator, MobileDataEntity mobileDataEntity) { this.mobileDataEntity = mobileDataEntity; behaviour = new MobileBehaviour(dateTimeCreator, mobileDataEntity); }