public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { if (Iznos.HasValue == false) { yield return(new ValidationResult("Iznos mora biti unet.", new List <string>() { "Iznos" })); } if (!Iznos.HasValue) { yield break; } var validacije = ExchangeEngine.Validiraj( new OtkupCmd() { Iznos = Iznos.Value, SifraValuta = SifraValuta }); foreach (var validacija in validacije) { foreach (var poruka in validacija.Value) { yield return(new ValidationResult(poruka, new List <string>() { validacija.Key })); } } }
public static void Main() { /* INSTANCE */ String assemblyGuid = Assembly.GetExecutingAssembly().GetCustomAttributes(false).OfType <GuidAttribute>().SingleOrDefault()?.Value ?? "Trinance"; Mutex mutex = new Mutex(true, String.Format(CultureInfo.InvariantCulture, @"Global\{{{0}}}", assemblyGuid)); if (!mutex.WaitOne(TimeSpan.FromSeconds(5), false)) { Console.WriteLine(Resources.AnotherInstance); Exit(mutex, 0x01); } /* CONFIGURATION */ Console.WriteLine(Resources.EnvironmentInitialization); try { Uri assemblyUri = new Uri(Assembly.GetExecutingAssembly().CodeBase); String baseDirectory = Path.GetDirectoryName(assemblyUri.LocalPath) ?? String.Empty; String configPath = Path.Combine(baseDirectory, "Config.json"); Config.Load(configPath); Console.WriteLine(FormatMessage(Resources.BaseDirectory, NativeMethods.GetShortPath(baseDirectory))); Console.WriteLine(FormatMessage(Resources.Investment, Config.InvestmentBaseAsset, Config.InvestmentMinimum, Config.InvestmentMaximum, Config.InvestmentStep)); Console.WriteLine(FormatMessage(Resources.TradingStatus, Config.TradingEnabled ? Resources.Enabled : Resources.Disabled, (!Config.TradingEnabled || (Config.TradingExecutionsCap == 0)) ? String.Empty : FormatMessage(Resources.TradingCap, Config.TradingExecutionsCap))); Console.WriteLine(FormatMessage(Resources.TradingProcess, Config.TradingStrategy, Config.TradingPositions[0], Config.TradingPositions[1], Config.TradingPositions[2])); Console.WriteLine(); } catch (Exception e) { Console.WriteLine(FormatMessage(Resources.ConfigurationKO, GetExceptionMessage(e))); Exit(mutex, 0x02); } /* PROCESS */ using (ConsolePump pump = new ConsolePump()) using (ExchangeEngine exchangeEngine = ExchangeEngine.FromConfiguration(pump)) { if (!exchangeEngine.Initialize()) { Exit(mutex, 0x03); } using (AutoResetEvent are = new AutoResetEvent(false)) { Console.CancelKeyPress += (o, e) => are.Set(); using (new TradingEngine(pump, exchangeEngine)) are.WaitOne(); } } Exit(mutex, 0x00); }
static void Main(string[] args) { //ExchangeEngine.Izvrsi(new UplataCmd //{ // Iznos = 100000, // SifraValuta = "RSD" //}); var validacioniProblemi = ExchangeEngine.Validiraj(new OtkupCmd { Iznos = 100000, SifraValuta = "EUR" }); }
public ActionResult IzracunajIznosProdaje(ProdajaViewModel wm) { var rezultat = (decimal)0; if (wm.Iznos.HasValue) { rezultat = ExchangeEngine.Izracunaj(new ProdajaCmd { Iznos = wm.Iznos.Value, SifraValuta = wm.SifraValuta }); } return(Json(rezultat, JsonRequestBehavior.AllowGet)); }
public ActionResult Uplata(UplataViewModel wm) { if (ModelState.IsValid == false) { Response.StatusCode = 400; return(PartialView("_UplataPartial", wm)); } ExchangeEngine.Izvrsi(new UplataCmd() { Iznos = wm.Iznos.Value, SifraValuta = wm.SifraValuta }); return(new HttpStatusCodeResult(200)); }
public ActionResult IzracunajIznosKonverzije(KonverzijaViewModel wm) { var rezultat = (decimal)0; if (wm.IznosIz.HasValue) { rezultat = ExchangeEngine.Izracunaj(new KonverzijaCmd { Iznos = wm.IznosIz.Value, SifraValutaIz = wm.SifraValutaIz, SifraValutaU = wm.SifraValutaU, }); } return(Json(rezultat, JsonRequestBehavior.AllowGet)); }
public ActionResult Konverzija(KonverzijaViewModel wm) { if (ModelState.IsValid == false) { Response.StatusCode = 400; return(PartialView("_KonverzijaPartial", wm)); } ExchangeEngine.Izvrsi(new KonverzijaCmd { Iznos = wm.IznosIz.Value, SifraValutaIz = wm.SifraValutaIz, Naziv = wm.Naziv, SifraValutaU = wm.SifraValutaU, Opis = wm.Opis }); return(new HttpStatusCodeResult(200)); }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var validacije = ExchangeEngine.Validiraj( new UplataCmd() { Iznos = Iznos.Value, SifraValuta = SifraValuta }); foreach (var validacija in validacije) { foreach (var poruka in validacija.Value) { yield return(new ValidationResult(poruka, new List <string>() { validacija.Key })); } } }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { if (SifraValutaIz == SifraValutaU) { yield return(new ValidationResult("Ulazna i izlazna valuta moraju se razlikovati.")); } if (IznosIz.HasValue == false) { yield return(new ValidationResult("Iznos mora biti unet.", new List <string>() { "IznosIz" })); } if (!IznosIz.HasValue) { yield break; } var validacije = ExchangeEngine.Validiraj( new KonverzijaCmd { Iznos = IznosIz.Value, SifraValutaIz = SifraValutaIz, SifraValutaU = SifraValutaU, Opis = Opis, Naziv = Naziv }); foreach (var validacija in validacije) { foreach (var poruka in validacija.Value) { yield return(new ValidationResult(poruka, new List <string>() { validacija.Key })); } } }