예제 #1
0
 public CloudBankingController(IBankingRepository bankingRepository, IBankingService bankingService, ICalculator calculator, IOptions <AppParameters> opAppParameters)
 {
     _bankingRepository = bankingRepository;
     _bankingService    = bankingService;
     _calculator        = calculator;
     _appParameters     = opAppParameters.Value;
 }
예제 #2
0
        public async Task <Loan> SimulateLoan(ICalculator calculator, Info info, AppParameters param)
        {
            int    duration            = info.Duration * 12;
            double annualInterest      = param.AnnualInterest / 100;
            double adminFee            = Business.GetAdminFee(param, info.Amount);
            double monthlyCost         = calculator.CalculateMonthlyPaymentForLoan(info.Amount, duration, annualInterest);
            double total               = duration * monthlyCost;
            double aop                 = Business.GetAop(info.Amount, adminFee, total);
            double totalAmountInterest = total - info.Amount;

            Loan loan = new Loan
            {
                Amount              = info.Amount,
                Duration            = duration,
                AnnualInterest      = annualInterest,
                Aop                 = aop,
                MonthlyCost         = monthlyCost,
                TotalAmountInterest = totalAmountInterest,
                TotalAdminFee       = adminFee,
            };

            await Task.Delay(1);

            return(loan);
        }
예제 #3
0
        /// <summary>
        /// This method is used to Get Parameter List
        /// </summary>
        /// <param name="im"></param>
        /// <returns></returns>
        private List <AppParameters> GetParameterList()
        {
            ImportOptionalValuesForParameters im = new ImportOptionalValuesForParameters();
            List <AppParameters> parameters      = new List <AppParameters>();

            try
            {
                List <string> lstParName = new List <string>();
                foreach (var prms in mElements)
                {
                    if (ElementInfo.IsElementTypeSupportingOptionalValues(prms.ElementTypeEnum))
                    {
                        string parName = prms.ItemName.Replace("\r", "").Split('\n')[0];
                        int    count   = lstParName.Where(p => p == parName).Count();
                        lstParName.Add(parName);
                        if (count > 0)
                        {
                            parName = string.Format("{0}_{1}", parName, count);
                        }

                        AppParameters par = new AppParameters();
                        par.ItemName             = parName;
                        par.OptionalValuesList   = prms.OptionalValuesObjectsList;
                        par.OptionalValuesString = prms.OptionalValuesObjectsListAsString;
                        par.Description          = prms.Description;
                        parameters.Add(par);
                    }
                }
            }
            catch (System.Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, ex.StackTrace);
            }
            return(parameters);
        }
예제 #4
0
        public void OnNavigatedTo(NavigationContext navigationContext)
        {
            int hash = int.Parse(navigationContext.Parameters["DataToDisplay"].ToString());

            dataToDisplay        = (object)AppParameters.Request(hash);
            reportPath           = navigationContext.Parameters["ReportPath"].ToString();
            parameters           = (ReportParameter[])navigationContext.Parameters["Parameters"];
            reportDataSourceName = navigationContext.Parameters["ReportDataSourceName"].ToString();

            if (!_isReportViewerLoaded)
            {
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource = new
                                                                                 Microsoft.Reporting.WinForms.ReportDataSource();

                reportDataSource.Name = reportDataSourceName;

                reportDataSource.Value = DataToDisplay;
                this.ReportViewerControl.LocalReport.DataSources.Add(reportDataSource);
                this.ReportViewerControl.LocalReport.ReportPath = ReportPath;

                if (parameters != null)
                {
                    this.ReportViewerControl.LocalReport.SetParameters(parameters);
                }
                ReportViewerControl.RefreshReport();
                _isReportViewerLoaded = true;
            }

            menu = new RTIReportWindow();
            menu.PrintButton.Command = printCommand;
            ribbonService.AddRibbonItem(menu, true);
        }
예제 #5
0
파일: FileSets.cs 프로젝트: dkm2110/veyor
 /// <summary>
 /// Adds all the files referenced in the given JobSubmission
 /// </summary>
 /// <param name="submission"></param>
 internal void AddJobFiles(AppParameters submission)
 {
     AddToGlobalFiles(submission.GlobalFiles);
     AddToGlobalFiles(submission.GlobalAssemblies);
     AddToLocalFiles(submission.LocalFiles);
     AddToLocalFiles(submission.LocalAssemblies);
 }
        /// <summary>
        /// Creates the driver folder structure in this given folder as the root
        /// </summary>
        /// <param name="appParameters">Job submission information</param>
        /// <param name="driverFolderPath">Driver folder path</param>
        internal void CreateDefaultFolderStructure(AppParameters appParameters, string driverFolderPath)
        {
            Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetReefFolderName()));
            Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetLocalFolderPath()));
            Directory.CreateDirectory(Path.Combine(driverFolderPath, _fileNames.GetGlobalFolderPath()));

            var resourceHelper = new ResourceHelper(typeof(DriverFolderPreparationHelper).Assembly);

            foreach (var fileResources in ResourceHelper.FileResources)
            {
                var fileName = resourceHelper.GetString(fileResources.Key);
                if (ResourceHelper.ClrDriverFullName == fileResources.Key)
                {
                    fileName = Path.Combine(driverFolderPath, _fileNames.GetBridgeExePath());
                }
                if (!File.Exists(fileName))
                {
                    File.WriteAllBytes(fileName, resourceHelper.GetBytes(fileResources.Value));
                }
            }

            // generate .config file for bridge executable
            var config = DefaultDriverConfigurationFileContents;

            if (!string.IsNullOrEmpty(appParameters.DriverConfigurationFileContents))
            {
                config = appParameters.DriverConfigurationFileContents;
            }
            File.WriteAllText(Path.Combine(driverFolderPath, _fileNames.GetBridgeExeConfigPath()), config);

            // generate .config file for Evaluator executable
            File.WriteAllText(Path.Combine(driverFolderPath, _fileNames.GetGlobalFolderPath(), EvaluatorExecutable),
                              DefaultDriverConfigurationFileContents);
        }
예제 #7
0
        private string CreateBootstrapAvroAppConfig(AppParameters appParameters, string driverFolder)
        {
            var paramInjector = TangFactory.GetTang().NewInjector(appParameters.DriverConfigurations.ToArray());

            var bootstrapAppArgs = new AvroAppSubmissionParameters
            {
                tcpBeginPort  = paramInjector.GetNamedInstance <TcpPortRangeStart, int>(),
                tcpRangeCount = paramInjector.GetNamedInstance <TcpPortRangeCount, int>(),
                tcpTryCount   = paramInjector.GetNamedInstance <TcpPortRangeTryCount, int>(),
            };

            var avroLocalBootstrapAppArgs = new AvroLocalAppSubmissionParameters
            {
                sharedAppSubmissionParameters   = bootstrapAppArgs,
                maxNumberOfConcurrentEvaluators = _maxNumberOfConcurrentEvaluators
            };

            var submissionArgsFilePath = Path.Combine(driverFolder, _fileNames.GetAppSubmissionParametersFile());

            using (var argsFileStream = new FileStream(submissionArgsFilePath, FileMode.CreateNew))
            {
                var serializedArgs = AvroJsonSerializer <AvroLocalAppSubmissionParameters> .ToBytes(avroLocalBootstrapAppArgs);

                argsFileStream.Write(serializedArgs, 0, serializedArgs.Length);
            }

            return(submissionArgsFilePath);
        }
        /// <summary>
        /// Merges the Configurations in appParameters and serializes them into the right place within driverFolderPath,
        /// assuming
        /// that points to a Driver's working directory.
        /// </summary>
        /// <param name="appParameters"></param>
        /// <param name="driverFolderPath"></param>
        internal void CreateDriverConfiguration(AppParameters appParameters, string driverFolderPath)
        {
            var driverConfigurations = _driverConfigurationProviders.Select(configurationProvider => configurationProvider.GetConfiguration()).ToList();
            var driverConfiguration  = Configurations.Merge(driverConfigurations.Concat(appParameters.DriverConfigurations).ToArray());

            _configurationSerializer.ToFile(driverConfiguration,
                                            Path.Combine(driverFolderPath, _fileNames.GetClrDriverConfigurationPath()));
        }
예제 #9
0
        public OptionsVM()
        {
            AppParameters = new AppParameters();

            ReadParameters();

            saveParametersCommand = new SaveParametersCommand(this);
        }
예제 #10
0
 public LookingGlassBase()
 {
     m_instance = this;
     AppParams  = new AppParameters();
     // initial debug filter value that is overwritten once the parameters are read in
     AppParams.AddDefaultParameter("Log.FilterLevel", ((int)LogLevel.DNONDETAIL).ToString(),
                                   "Default, initial logging level");
 }
예제 #11
0
        public static void Save(AppParameters appParameters)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(AppParameters));

            using (FileStream stream = new FileStream(StaticDetails.appParametersFilePath, FileMode.Create, FileAccess.Write))
            {
                xmlSerializer.Serialize(stream, appParameters);
            }
        }
예제 #12
0
        public static double GetAdminFee(AppParameters param, double Amount)
        {
            var fee = Amount * (param.Fee / 100);

            if (fee > param.LimitFee)
            {
                fee = param.LimitFee;
            }

            return(fee);
        }
예제 #13
0
        /// <summary>
        /// Prepares the working directory for a Driver in driverFolderPath.
        /// </summary>
        /// <param name="appParameters"></param>
        /// <param name="driverFolderPath"></param>
        internal void PrepareDriverFolderWithGlobalBridgeJar(AppParameters appParameters, string driverFolderPath)
        {
            // Add the appParameters into that folder structure
            _fileSets.AddJobFiles(appParameters);

            // Add the reef-bridge-client jar to the global files in the manner of JavaClientLauncher.cs.
            _fileSets.AddToGlobalFiles(Directory.GetFiles(JarFolder)
                                       .Where(jarFile => Path.GetFileName(jarFile).ToLower().StartsWith(ClientConstants.ClientJarFilePrefix)));

            InternalPrepareDriverFolder(appParameters, driverFolderPath);
        }
예제 #14
0
        /// <summary>
        /// Merges the Configurations in appParameters and serializes them into the right place within driverFolderPath,
        /// assuming
        /// that points to a Driver's working directory.
        /// </summary>
        /// <param name="appParameters"></param>
        /// <param name="driverFolderPath"></param>
        internal void CreateDriverConfiguration(AppParameters appParameters, string driverFolderPath)
        {
            var driverConfiguration = Configurations.Merge(appParameters.DriverConfigurations.ToArray());

            _configurationSerializer.ToFile(driverConfiguration,
                                            Path.Combine(driverFolderPath, _fileNames.GetClrDriverConfigurationPath()));

            // TODO: Remove once we cleaned up the Evaluator to not expect this [REEF-217]
            _configurationSerializer.ToFile(driverConfiguration,
                                            Path.Combine(driverFolderPath, _fileNames.GetGlobalFolderPath(), _fileNames.GetClrBridgeConfigurationName()));
        }
        /// <summary>
        /// Serializes the application parameters to reef/local/app-submission-params.json.
        /// </summary>
        internal void SerializeAppFile(AppParameters appParameters, IInjector paramInjector, string localDriverFolderPath)
        {
            var serializedArgs = SerializeAppArgsToBytes(appParameters, paramInjector, localDriverFolderPath);

            var submissionAppArgsFilePath = Path.Combine(
                localDriverFolderPath, _fileNames.GetLocalFolderPath(), _fileNames.GetAppSubmissionParametersFile());

            using (var jobArgsFileStream = new FileStream(submissionAppArgsFilePath, FileMode.CreateNew))
            {
                jobArgsFileStream.Write(serializedArgs, 0, serializedArgs.Length);
            }
        }
        /// <summary>
        /// Serializes the application parameters to reef/local/app-submission-params.json.
        /// </summary>
        internal string SerializeAppFile(AppParameters appParameters, IInjector paramInjector, string driverFolderPath)
        {
            var serializedArgs = SerializeAppArgsToBytes(appParameters, paramInjector);

            var submissionArgsFilePath = Path.Combine(driverFolderPath, _fileNames.GetAppSubmissionParametersFile());

            using (var argsFileStream = new FileStream(submissionArgsFilePath, FileMode.CreateNew))
            {
                argsFileStream.Write(serializedArgs, 0, serializedArgs.Length);
            }

            return(submissionArgsFilePath);
        }
예제 #17
0
        private void GoToEmpAddressBook(object sender, RoutedEventArgs e)
        {
            var navigationParameters = new NavigationParameters();
            var data = employeeService.GetAll();

            navigationParameters.Add("DataToDisplay", data.GetHashCode().ToString());
            AppParameters.Save(data.GetHashCode(), data);
            navigationParameters.Add("ReportPath", @"Reports\EmployeeAddressBook.rdlc");
            navigationParameters.Add("ReportDataSourceName", "EmployeeAddressBook");

            this.regionManager.RequestNavigate(RegionNames.WorkingArea,
                                               new Uri("ReportWindowView" + navigationParameters.ToString(), UriKind.Relative));
        }
        private void Phones()
        {
            var navigationParameters = new NavigationParameters();
            var data = employeeService.GetAll();

            navigationParameters.Add("DataToDisplay", data.GetHashCode().ToString());
            AppParameters.Save(data.GetHashCode(), data);
            navigationParameters.Add("ReportPath", @"Reports\EmployeePhoneList.rdlc");
            //navigationParameters.Add("Parameters",);
            navigationParameters.Add("ReportDataSourceName", "EmployeePhoneList");

            this.regionManager.RequestNavigate(RegionNames.WorkingArea,
                                               new Uri("ReportWindowView" + navigationParameters.ToString(), UriKind.Relative));
        }
예제 #19
0
        private void InternalPrepareDriverFolder(AppParameters appParameters, string driverFolderPath)
        {
            Logger.Log(Level.Info, "Preparing Driver filesystem layout in {0}", driverFolderPath);

            // Setup the folder structure
            CreateDefaultFolderStructure(appParameters, driverFolderPath);

            // Create the driver configuration
            CreateDriverConfiguration(appParameters, driverFolderPath);

            // Initiate the final copy
            _fileSets.CopyToDriverFolder(driverFolderPath);

            Logger.Log(Level.Info, "Done preparing Driver filesystem layout in {0}", driverFolderPath);
        }
        internal byte[] SerializeAppArgsToBytes(AppParameters appParameters, IInjector paramInjector)
        {
            var avroAppSubmissionParameters = new AvroAppSubmissionParameters
            {
                tcpBeginPort  = paramInjector.GetNamedInstance <TcpPortRangeStart, int>(),
                tcpRangeCount = paramInjector.GetNamedInstance <TcpPortRangeCount, int>(),
                tcpTryCount   = paramInjector.GetNamedInstance <TcpPortRangeTryCount, int>()
            };

            var avroYarnAppSubmissionParameters = new AvroYarnAppSubmissionParameters
            {
                sharedAppSubmissionParameters = avroAppSubmissionParameters,
                driverRecoveryTimeout         = paramInjector.GetNamedInstance <DriverBridgeConfigurationOptions.DriverRestartEvaluatorRecoverySeconds, int>()
            };

            return(AvroJsonSerializer <AvroYarnAppSubmissionParameters> .ToBytes(avroYarnAppSubmissionParameters));
        }
예제 #21
0
        public static AppParameters Read()
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(AppParameters));
            AppParameters appParameters = new AppParameters();

            try
            {
                using (FileStream stream = new FileStream(StaticDetails.appParametersFilePath, FileMode.Open, FileAccess.Read))
                {
                    appParameters = (AppParameters)xmlSerializer.Deserialize(stream);
                }
            }
            catch (System.IO.FileNotFoundException)
            {
                Save(new AppParameters());
            }
            return(appParameters);
        }
예제 #22
0
        public App()
        {
            InitializeComponent();

            //создаем объект класса с парметрами
            APP = AppParameters.getInstance();

            //определение культуры устройства
            if (Device.OS != TargetPlatform.WinPhone)
            {
                LangResources.Culture = DependencyService.Get <ILocalize>()
                                        .GetCurrentCultureInfo();
            }

            //задаем стартовую страницу приложения
            //MainPage = new ExsalesMobileApp.MainPage();
            //MainPage = new NavigationPage(new StartPage());
            MainPage = new StartPage();
        }
        /// <summary>
        /// Prepares the working directory for a Driver in driverFolderPath.
        /// </summary>
        /// <param name="appParameters"></param>
        /// <param name="driverFolderPath"></param>
        internal void PrepareDriverFolder(AppParameters appParameters, string driverFolderPath)
        {
            Logger.Log(Level.Verbose, "Preparing Driver filesystem layout in " + driverFolderPath);

            // Setup the folder structure
            CreateDefaultFolderStructure(appParameters, driverFolderPath);

            // Add the appParameters into that folder structure
            _fileSets.AddJobFiles(appParameters);

            // Create the driver configuration
            CreateDriverConfiguration(appParameters, driverFolderPath);

            // Add the REEF assemblies
            AddAssemblies();

            // Initiate the final copy
            _fileSets.CopyToDriverFolder(driverFolderPath);

            Logger.Log(Level.Info, "Done preparing Driver filesystem layout in " + driverFolderPath);
        }
        private void BHE()
        {
            var navigationParameters = new NavigationParameters();

            Mapper.CreateMap <WorkHour, BasicWorkHourVM>();
            Mapper.CreateMap <Employee, BasicEmployeeVM>();
            Mapper.CreateMap <WorkCode, BasicWorkCodeVM>();

            var data       = workHourService.GetReport().Where(a => a.WorkCode.Billable == true).ToList();
            var bworkhours = new List <BasicWorkHourVM>();

            foreach (WorkHour wh in data)
            {
                bworkhours.Add(Mapper.Map <WorkHour, BasicWorkHourVM>(wh));
            }
            navigationParameters.Add("DataToDisplay", bworkhours.GetHashCode().ToString());
            AppParameters.Save(bworkhours.GetHashCode(), bworkhours);
            navigationParameters.Add("ReportPath", @"Reports\HoursByEmployee.rdlc");
            navigationParameters.Add("ReportDataSourceName", "HoursByEmployee");

            this.regionManager.RequestNavigate(RegionNames.WorkingArea,
                                               new Uri("ReportWindowView" + navigationParameters.ToString(), UriKind.Relative));
        }
        /// <summary>
        /// Prepares the working directory for a Driver in driverFolderPath.
        /// </summary>
        /// <param name="appParameters"></param>
        /// <param name="driverFolderPath"></param>
        internal void PrepareDriverFolder(AppParameters appParameters, string driverFolderPath)
        {
            Logger.Log(Level.Verbose, "Preparing Driver filesystem layout in {0}", driverFolderPath);

            // Setup the folder structure
            CreateDefaultFolderStructure(appParameters, driverFolderPath);

            // Add the appParameters into that folder structure
            _fileSets.AddJobFiles(appParameters);

            // Add the reef-bridge-client jar to the global files in the manner of JavaClientLauncher.cs.
            _fileSets.AddToLocalFiles(Directory.GetFiles(JarFolder)
                                      .Where(file => !string.IsNullOrWhiteSpace(file))
                                      .Where(jarFile => Path.GetFileName(jarFile).ToLower().StartsWith(ClientConstants.ClientJarFilePrefix)));

            // Create the driver configuration
            CreateDriverConfiguration(appParameters, driverFolderPath);

            // Initiate the final copy
            _fileSets.CopyToDriverFolder(driverFolderPath);

            Logger.Log(Level.Info, "Done preparing Driver filesystem layout in {0}", driverFolderPath);
        }
예제 #26
0
        static void Main(string[] args)
        {
            Logger.Info("Starting expense analyzer.");

            if (args.Length == 0)
            {
                Logger.Info("Error. No path to csv.");
                return;
            }

            if (!File.Exists("./Configuration.json"))
            {
                Logger.Info("Error. No configuration file.");
                return;
            }

            AppParameters parameters = null;

            try
            {
                parameters = new AppParametersDeserializer().Deserialize(args);
            }
            catch (ParameterException parameterException)
            {
                Logger.Error("Parameter error occured.", parameterException);
                return;
            }

            var configurationString = File.ReadAllText("./Configuration.json");
            var configuration       = JsonConvert.DeserializeObject <ConfigurationDto>(configurationString);

            try
            {
                Stopwatch time         = new Stopwatch();
                var       bankAnalyzer = new BankFactory(configuration).GetBankAnalyzer(parameters.Bank);
                var       outputLogic  = new DataOutputFactory(parameters.FilePath).GetDataOutput(parameters.Output);

                if (bankAnalyzer.CanExecute())
                {
                    using (var reader = new StreamReader(parameters.FilePath))
                    {
                        Logger.Info("Start analyzing.");
                        time.Start();
                        var result = bankAnalyzer.AnalyzeExpenseHistory(reader.ReadToEnd());
                        Logger.Info("Analyze complete.");

                        outputLogic.OutputData(result).Wait();

                        time.Stop();
                        Logger.Info($"Complete in time {time.Elapsed.Hours}:{time.Elapsed.Minutes}:{time.Elapsed.Seconds}.");
                    }
                }
                else
                {
                    Logger.Info("Analyzing not started.");
                }
            }
            catch (Exception ex)
            {
                var oldForegroundColor = Console.ForegroundColor;
                Console.ForegroundColor = ConsoleColor.DarkRed;

                Logger.Error($"Error occured! {ex.Message},\n\n{ex.StackTrace}.");

                Console.ForegroundColor = oldForegroundColor;
            }

            Logger.Info("Press any key to close...");
            Console.ReadKey();
        }