public MainWindowViewModel(AutoViewModel autoViewModel, KundeViewModel kundeViewModel,
     ReservationViewModel reservationViewModel)
 {
     this.autoViewModel = autoViewModel;
     this.kundeViewModel = kundeViewModel;
     this.reservationViewModel = reservationViewModel;
 }
예제 #2
0
        public IActionResult UpdateAuto(int id)
        {
            AutoCollection autoCollection = new AutoCollection();
            AutoViewModel  autoViewModel  = new AutoViewModel();
            Auto           auto           = new Auto();

            auto = autoCollection.GetAuto(id);

            autoViewModel.AutoID          = auto.AutoID;
            autoViewModel.type            = auto.type;
            autoViewModel.Merk            = auto.Merk;
            autoViewModel.Kenteken        = auto.Kenteken;
            autoViewModel.bouwjaar        = auto.bouwjaar;
            autoViewModel.KM_stand        = auto.KM_stand;
            autoViewModel.Brandstof       = auto.Brandstof;
            autoViewModel.Zitplaatsen     = auto.Zitplaatsen;
            autoViewModel.Versnellingsbak = auto.Versnellingsbak;
            autoViewModel.url             = auto.Url;
            autoViewModel.prijs           = auto.prijs;

            return(View(autoViewModel));
        }
예제 #3
0
        public IActionResult UpdateAuto(AutoViewModel autoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            Auto auto = new Auto();

            auto.AutoID          = autoViewModel.AutoID;
            auto.type            = autoViewModel.type;
            auto.Merk            = autoViewModel.Merk;
            auto.Kenteken        = autoViewModel.Kenteken;
            auto.bouwjaar        = autoViewModel.bouwjaar;
            auto.KM_stand        = autoViewModel.KM_stand;
            auto.Brandstof       = autoViewModel.Brandstof;
            auto.Zitplaatsen     = autoViewModel.Zitplaatsen;
            auto.Versnellingsbak = autoViewModel.Versnellingsbak;
            auto.Url             = autoViewModel.url;
            auto.prijs           = autoViewModel.prijs;

            auto.Update(auto);
            return(RedirectToAction("GetGebruikerAutos", "Auto"));
        }
예제 #4
0
        public ActionResult Detalles(int id)
        {
            AutoViewModel model = new AutoViewModel();

            using (Car2GoDBEntities db = new Car2GoDBEntities())
            {
                var oAuto = db.Auto.Find(id);
                model.Placa       = oAuto.placa;
                model.Marca       = oAuto.marca;
                model.Modelo      = oAuto.modelo;
                model.Transmision = oAuto.transmision;
                model.Combustible = oAuto.combustible;
                model.Color       = oAuto.color;
                model.Anio        = Convert.ToDateTime(oAuto.anio);
                model.Rack        = oAuto.rack;
                model.Tipo        = oAuto.tipo;
                model.ImagenRuta  = oAuto.imagen_ruta;
                model.Lugar       = oAuto.lugar;
                model.Estado      = oAuto.estado;
                model.IdAuto      = oAuto.id_auto;
            }

            return(View(model));
        }
예제 #5
0
 public AutoView()
 {
     InitializeComponent();
     DataContext = new AutoViewModel();
 }
예제 #6
0
        public async Task <AutoViewModel> MakeAutoForecast(int dataHours, int periods, bool hourlySeasonality,
                                                           bool dailySeasonality, string readFrom)
        {
            var viewModel = new AutoViewModel();

            _logger.LogWarning($"Creating Auto Forecast for hours {dataHours}, " +
                               $"for periods {periods}, " +
                               $"from file {readFrom}, " +
                               $"hourly seasonality: {hourlySeasonality}, " +
                               $"daily seasonality: {dailySeasonality}.");

            string lastFolder;

            try
            {
                IEnumerable <string> assets;
                if (readFrom.ToLower() == "assets")
                {
                    assets = _fileManager.ReadAssetsFromExcel(_directoryManager.AsstesLocation);
                }
                else
                {
                    assets = _fileManager.ReadAssetsFromExcel(_directoryManager.ObservablesLocation);
                }

                var currentTime = DateTime.Now;
                Parallel.ForEach(assets, asset =>
                {
                    var pathToFolder =
                        _directoryManager.GenerateForecastFolder(asset, periods, DirSwitcher.Auto, currentTime);

                    var normalized = _processModel.GetDataAuto(asset, dataHours);
                    if (normalized == null || !normalized.Any())
                    {
                        _directoryManager.RemoveFolder(pathToFolder);
                        var zeroResults = new ExcelLog()
                        {
                            AssetName = asset,
                            Log       = Indicator.ZeroRezults.ToString(),
                            Rate      = "0",
                            Width     = "0",
                            Volume    = "0",
                            Change    = "0",
                            Rsi       = "0"
                        };
                        Shared.Log(zeroResults);
                        return;
                    }

                    var csv = _fileManager.CreateDataCsv(normalized, pathToFolder);
                    if (string.IsNullOrEmpty(csv))
                    {
                        var zeroResults = new ExcelLog()
                        {
                            AssetName = asset,
                            Log       = Indicator.ZeroRezults.ToString(),
                            Rate      = "0",
                            Width     = "0",
                            Volume    = "0",
                            Change    = "0",
                            Rsi       = "0"
                        };
                        Shared.Log(zeroResults);
                        return;
                    }

                    _directoryManager.SaveDataFile(csv, pathToFolder);

                    _pythonExec.RunPython(pathToFolder, periods, hourlySeasonality, dailySeasonality);

                    var pathToOut        = _directoryManager.FilePathOut(pathToFolder);
                    var pathToComponents = _directoryManager.FileComponentsOut(pathToFolder);
                    var pathToForecast   = _directoryManager.FileForecastOut(pathToFolder);

                    var outCreated        = _directoryManager.WaitForFile(pathToOut, 60);
                    var componentsCreated = _directoryManager.WaitForFile(pathToComponents, 10);
                    var forecastCreated   = _directoryManager.WaitForFile(pathToForecast, 10);

                    if (!outCreated.Result || !forecastCreated.Result || !componentsCreated.Result)
                    {
                        return;
                    }

                    var stats          = _fileManager.BuildOutTableRows(pathToOut, periods);
                    var performance    = _utility.DefinePerformance(stats);
                    var marketFeatures = _utility.GetFeatures(normalized, asset);
                    var rsi            = _utility.Rsi(normalized);
                    var log            = new ExcelLog
                    {
                        AssetName = asset,
                        Log       = performance.Indicator.ToString(),
                        Rate      = performance.Rate.ToString(),
                        Width     = performance.Width.ToString(),
                        Volume    = marketFeatures.Volume.ToString() + "BTC",
                        Change    = marketFeatures.Change.ToString("N2"),
                        Rsi       = rsi.ToString("N2") + "%"
                    };
                    Shared.Log(log);
                    _directoryManager.SpecifyDirByTrend(performance.Indicator, pathToFolder);
                }
                                 );

                lastFolder = _directoryManager.GetLastFolder(DirSwitcher.Auto);
                var results = _directoryManager.GetListByIndicator(lastFolder);
                viewModel.NegativeAssets       = results.NegativeAssets;
                viewModel.NeutralAssets        = results.NeutralAssets;
                viewModel.PositiveAssets       = results.PositiveAssets;
                viewModel.StrongPositiveAssets = results.StrongPositiveAssets;
                var res = _fileManager.WriteLogExcel(lastFolder, Shared.GetLog);
                _directoryManager.WriteLogToExcel(lastFolder, res);
                Shared.ClearLog();
                viewModel.Report = _directoryManager.GetReport(lastFolder);

                var model = _requestHelper.GetStats();
                viewModel.CallsLeftHisto = model.CallsLeft.Histo;
                viewModel.CallsMadeHisto = model.CallsMade.Histo;
                _logger.LogWarning($"Finished auto forecast from file {readFrom}");
            }
            catch (Exception e)
            {
                lastFolder = _directoryManager.GetLastFolder(DirSwitcher.Auto);
                if (Shared.GetLog.Any())
                {
                    var res = _fileManager.WriteLogExcel(lastFolder, Shared.GetLog);
                    _directoryManager.WriteLogToExcel(lastFolder, res);
                    Shared.ClearLog();
                }

                _logger.LogError($"Error in Auto Forecast for hours {dataHours}, " +
                                 $"for periods {periods}, " +
                                 $"from file {readFrom}, " +
                                 $"hourly seasonality: {hourlySeasonality}, " +
                                 $"daily seasonality: {dailySeasonality}.");
                throw new Exception(e.Message);
            }

            return(viewModel);
        }
예제 #7
0
 private void saveChanges()
 {
     AutoViewModel?.SaveChanges();
 }
예제 #8
0
 public AddAutoWindow(AutoReservationService service)
 {
     InitializeComponent();
     DataContext = new AutoViewModel(this, service);
 }