protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); AssureAppDataDirectoriesExist(); /////////////////////////////////////////////////////////////////////////////////////////////// //////// ////////// //////// Composition Root and Setup ////////// //////// ////////// /////////////////////////////////////////////////////////////////////////////////////////////// var connectionService = new ConnectionService(); var eventBus = new ClientEventBus(connectionService); var commandHandlerCollection = new SingleHandlerCollection <DomainCommand>(); var commandMessageBus = new LocalMessageBus <DomainCommand>(commandHandlerCollection); var commandBus = new CommandBus(commandMessageBus); var persistenceService = new LocalSettingsXMLPersistenceService(GlobalConstants.LocalSettingsPersistenceFile); var localSettingsRepository = new LocalSettingsRepository(persistenceService); localSettingsRepository.LoadRepository(); var clientMedicalPracticeRepository = new ClientMedicalPracticeRepository(connectionService); var clientPatientRepository = new ClientPatientRepository(connectionService); var clienttherapyPlaceTypeRepository = new ClientTherapyPlaceTypeRepository(connectionService); var clientLabelRepository = new ClientLabelRepository(connectionService); var clientReadmodelRepository = new ClientReadModelRepository(eventBus, clientPatientRepository, clientMedicalPracticeRepository, clientLabelRepository, connectionService); var workFlow = new ClientWorkflow(); var session = new Session(connectionService, workFlow); var fatalErrorHandler = new FatalErrorHandler(session); var commandService = new CommandService(session, clientReadmodelRepository, commandBus); var userActionBuilder = new UserActionBuilder(commandService); // CommandHandler var addAppointmentCommandHandler = new AddAppointmentCommandHandler(connectionService, session, clientPatientRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); var deleteAppointmentCommandHandler = new DeleteAppointmentCommandHandler(connectionService, session, clientPatientRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); var replaceAppointmentCommandHandler = new ReplaceAppointmentCommandHandler(connectionService, session, clientPatientRepository, clientMedicalPracticeRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); commandBus.RegisterCommandHandler(addAppointmentCommandHandler); commandBus.RegisterCommandHandler(deleteAppointmentCommandHandler); commandBus.RegisterCommandHandler(replaceAppointmentCommandHandler); // initiate ViewModelCommunication var handlerCollection = new MultiHandlerCollection <ViewModelMessage>(); IMessageBus <ViewModelMessage> viewModelMessageBus = new LocalMessageBus <ViewModelMessage>(handlerCollection); IViewModelCollectionList viewModelCollections = new ViewModelCollectionList(); IViewModelCommunication viewModelCommunication = new ViewModelCommunication(viewModelMessageBus, viewModelCollections); var mainWindowBuilder = new MainWindowBuilder(localSettingsRepository, clientPatientRepository, clientMedicalPracticeRepository, clientReadmodelRepository, clienttherapyPlaceTypeRepository, clientLabelRepository, commandService, viewModelCommunication, session, "0.1.0.0", // TODO: get real versionNumber fatalErrorHandler.HandleFatalError); var mainWindow = mainWindowBuilder.BuildWindow(); mainWindow.ShowDialog(); /////////////////////////////////////////////////////////////////////////////////////////////// //////// ////////// //////// Clean Up and store data after main Window was closed ////////// //////// ////////// /////////////////////////////////////////////////////////////////////////////////////////////// localSettingsRepository.PersistRepository(); connectionService.Dispose(); }
private bool saveTransaction(ISession session, String filename, TrxPayroll trx, int cid, ILog log, out int IDTrxs, UserMap umap) { IDTrxs = 0; Boolean isTrue = true; try { String[] tmpfileInfo = filename.Split('!'); Transaction tx = new Transaction(); tx.Handle = "ADD PAYROLLBRI"; tx.TransactionId = 101; //tx.CreatedTime = DateTime.ParseExact(tmpfileInfo[0], "ddMMyyhhmmss", System.Globalization.CultureInfo.InvariantCulture);// Dari Split tx.CreatedTime = DateTime.Now; tx.VerifiedTime = DateTime.Now; tx.ApprovedTime = DateTime.Now; tx.TObject = trx.ToString(); tx.ClientId = cid; tx.Status = 1; tx.Action = "ADD"; tx.Maker = umap.UserHandle + " - " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); Console.WriteLine("AA => " + umap.UserHandle + " - " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); Console.WriteLine("BB => " + tx.Maker); tx.Checker = ""; tx.Approver = ""; tx.Checker = ""; tx.Approver = ""; tx.CheckWork = 0; tx.CheckTotal = 0; tx.ApproveWork = 0; tx.CheckTotal = 0; ClientWorkflow cm = session.CreateCriteria(typeof(ClientWorkflow)) .Add(Expression.Eq("Id", cid)) .UniqueResult <ClientWorkflow>(); WorkflowHelper wh = new WorkflowHelper(cm.Workflow); if (!(null == wh)) { Workflow flow = wh.GetWorkflow(100); if (!(null == flow)) { //tx.Maker = ""; tx.Approver = ""; tx.CheckTotal = flow.TotalVerifier; tx.ApproveTotal = flow.TotalApprover; } else { throw new Exception("Matrix PAYROLL is Null for this Client"); } } IDTrxs = (int)session.Save(tx); session.Flush(); isTrue = true; } catch (Exception ex) { isTrue = false; log.Error("== " + SchedulllerCode + " = Scheduller GetFilePayrollKai Failed to Start => Exception Message =" + " " + ex.Message); log.Error("== " + SchedulllerCode + " = Scheduller GetFilePayrollKai Failed to Start => Exception InnerMessage =" + " " + ex.InnerException); log.Error("== " + SchedulllerCode + " = Scheduller GetFilePayrollKai Failed to Start => Exception StackTrace =" + " " + ex.StackTrace); } return(isTrue); }
public void BuildAndStart(StartupEventArgs startupEventArgs) { #if DEBUG var listener = new OnkoTePlaDebugListener(); Debug.Listeners.Add(listener); #endif AssureAppDataDirectoriesExist(); connectionService = new ConnectionService(); var eventBus = new ClientEventBus(connectionService); var commandHandlerCollection = new SingleHandlerCollection <DomainCommand>(); var commandMessageBus = new LocalMessageBus <DomainCommand>(commandHandlerCollection); var commandBus = new CommandBus(commandMessageBus); var persistenceService = new LocalSettingsXMLPersistenceService(GlobalConstants.LocalSettingsPersistenceFile); localSettingsRepository = new LocalSettingsRepository(persistenceService); localSettingsRepository.LoadRepository(); var clientMedicalPracticeRepository = new ClientMedicalPracticeRepository(connectionService); var clientPatientRepository = new ClientPatientRepository(connectionService); var clienttherapyPlaceTypeRepository = new ClientTherapyPlaceTypeRepository(connectionService); var clientLabelRepository = new ClientLabelRepository(connectionService); var clientReadmodelRepository = new ClientReadModelRepository(eventBus, clientPatientRepository, clientMedicalPracticeRepository, clientLabelRepository, connectionService); var workFlow = new ClientWorkflow(); var session = new Session(connectionService, workFlow); var fatalErrorHandler = new FatalErrorHandler(session); var commandService = new CommandService(session, clientReadmodelRepository, commandBus); var userActionBuilder = new UserActionBuilder(commandService); // CommandHandler var addAppointmentCommandHandler = new AddAppointmentCommandHandler(connectionService, session, clientPatientRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); var deleteAppointmentCommandHandler = new DeleteAppointmentCommandHandler(connectionService, session, clientPatientRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); var replaceAppointmentCommandHandler = new ReplaceAppointmentCommandHandler(connectionService, session, clientPatientRepository, clientMedicalPracticeRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); commandBus.RegisterCommandHandler(addAppointmentCommandHandler); commandBus.RegisterCommandHandler(deleteAppointmentCommandHandler); commandBus.RegisterCommandHandler(replaceAppointmentCommandHandler); // initiate ViewModelCommunication var handlerCollection = new MultiHandlerCollection <ViewModelMessage>(); IMessageBus <ViewModelMessage> viewModelMessageBus = new LocalMessageBus <ViewModelMessage>(handlerCollection); IViewModelCollectionList viewModelCollections = new ViewModelCollectionList(); IViewModelCommunication viewModelCommunication = new ViewModelCommunication(viewModelMessageBus, viewModelCollections); var mainWindowBuilder = new MainWindowBuilder(localSettingsRepository, clientPatientRepository, clientMedicalPracticeRepository, clientReadmodelRepository, clienttherapyPlaceTypeRepository, clientLabelRepository, commandService, viewModelCommunication, session, fatalErrorHandler.HandleFatalError); var mainWindow = mainWindowBuilder.BuildWindow(); mainWindow.Show(); #if DEBUG var debugOutputWindowViewModel = new DebugOutputWindowViewModel(listener); var debugWindow = new DebugOutputWindow { Owner = mainWindow, DataContext = debugOutputWindowViewModel }; debugWindow.Show(); #endif }