コード例 #1
0
 private void GetDefaultCurrency()
 {
     using (var dbContext = new ExchangeDbContext())
     {
         var primaryCurrency = (from s in dbContext.Currencies
                                where s.IsPrimary
                                select s).ToList();
         if (CurrencyId == 0)
         {
             var result = (from p in dbContext.VoucherLines select p).ToList();
             if (primaryCurrency.Count == 0 && result.Count <= 0)
             {
                 chkDefault.Enabled = true;
             }
         }
         else
         {
             var result = dbContext.VoucherLines
                          .FirstOrDefault(p => p.CurrencyId == CurrencyId);
             if (result != null)
             {
                 chkDefault.Enabled = false;
             }
         }
     }
 }
コード例 #2
0
ファイル: Startup.cs プロジェクト: avareev/ExchangeGb
        private void MigrateDatabase(IApplicationBuilder app)
        {
            using var scope = app.ApplicationServices.CreateScope();
            ExchangeDbContext dbContext = scope.ServiceProvider.GetRequiredService <ExchangeDbContext>();

            dbContext.Database.Migrate();
        }
コード例 #3
0
 public ZahtjevService(ExchangeDbContext context, IMapper mapper, IHttpContextAccessor httpContextAccessor, IHttpClientFactory httpClientFactory)
 {
     _context             = context;
     _mapper              = mapper;
     _httpContextAccessor = httpContextAccessor;
     _httpClientFactory   = httpClientFactory;
 }
コード例 #4
0
 public void Apply(ExchangeDbContext dbContext)
 {
     dbContext.Deals.AddRange(Deals);
     dbContext.BuyOrders.AddRange(BuyOrders);
     dbContext.SellOrders.AddRange(SellOrders);
     dbContext.SaveChanges();
 }
コード例 #5
0
        public void AssertState(ExchangeDbContext dbContext)
        {
            Assert.Equal(Deals.Count, dbContext.Deals.Count());
            Assert.Equal(SellOrders.Count, dbContext.SellOrders.Count());
            Assert.Equal(BuyOrders.Count, dbContext.BuyOrders.Count());

            var hasAllDeals = Deals.All(expectedDeal => dbContext.Deals.Any(actual => actual.Price == expectedDeal.Price &&
                                                                            actual.Qty == expectedDeal.Qty &&
                                                                            actual.BuyerEmail == expectedDeal.BuyerEmail &&
                                                                            actual.SellerEmail == expectedDeal.SellerEmail));

            Assert.True(hasAllDeals, "Database should include all expected deals");

            var hasAllSellOrders = SellOrders.All(expectedSellOrder => dbContext.SellOrders.Any(actual =>
                                                                                                expectedSellOrder.Email == actual.Email &&
                                                                                                expectedSellOrder.Price == actual.Price &&
                                                                                                expectedSellOrder.Qty == actual.Qty));

            Assert.True(hasAllSellOrders, "Database should include all expected sell orders");

            var hasAllBuyOrders = BuyOrders.All(expectedBuyOrder => dbContext.BuyOrders.Any(actual =>
                                                                                            expectedBuyOrder.Email == actual.Email &&
                                                                                            expectedBuyOrder.Price == actual.Price &&
                                                                                            expectedBuyOrder.Qty == actual.Qty));

            Assert.True(hasAllBuyOrders, "Database should include all expected sell orders");
        }
コード例 #6
0
 public ValuteService(ExchangeDbContext context, IMapper mapper, IHttpContextAccessor httpContextAccessor, IHttpClientFactory httpClientFactory, UserManager <Korisnik> userManager)
 {
     _context             = context;
     _mapper              = mapper;
     _httpContextAccessor = httpContextAccessor;
     _httpClientFactory   = httpClientFactory;
     _userManager         = userManager;
 }
コード例 #7
0
        public ExchangeDbContext GetDbContext()
        {
            var dbContext = new ExchangeDbContext(new DbContextOptionsBuilder <ExchangeDbContext>()
                                                  .UseNpgsql(_testContainer.ConnectionString)
                                                  .Options);

            dbContext.Database.Migrate();
            return(dbContext);
        }
コード例 #8
0
 public KorisnikService(ExchangeDbContext context, UserManager <Korisnik> userManager, IConfiguration configuration,
                        IMailService mailService, IHttpContextAccessor httpContextAccessor, IMapper mapper)
 {
     _context             = context;
     _userManager         = userManager;
     _configuration       = configuration;
     _mailService         = mailService;
     _httpContextAccessor = httpContextAccessor;
     _mapper = mapper;
 }
コード例 #9
0
 public AuthController(
     ExchangeDbContext context,
     JwtSecurityTokenHandler handler,
     IOptionsMonitor <JwtOptions> monitor,
     ErrorMessageService errorMessageService)
 {
     _context             = context;
     _handler             = handler;
     _monitor             = monitor;
     _errorMessageService = errorMessageService;
 }
コード例 #10
0
 public static void UpdateApplicationsinDatabase(ExchangeDbContext db, IEnumerable <StudentApplication> newUploadedApplications)
 {
     using (var transaction = db.Database.BeginTransaction())
     {
         db.StudentApplications.RemoveRange(db.StudentApplications);
         db.SaveChanges();
         db.AddRange(newUploadedApplications);
         db.SaveChanges();
         transaction.Commit();
     }
 }
コード例 #11
0
        private static void IzvrsiTransakciju(
            BaznaTransakcija transakcija,
            bool validacija,
            IDictionary <string, List <string> > validacioneGreske)
        {
            using (var context = new ExchangeDbContext())
            {
                context.Transakcije.Add(transakcija);

                foreach (var finansijskaTransakcija in transakcija.FinansijskeTransakcije)
                {
                    var racun = context.RacuniBlagajne.FirstOrDefault(it => it.SifraValute.ToLower().Trim() == finansijskaTransakcija.SifraValuteRacunaBlagajne.ToLower().Trim());
                    if (racun == null)
                    {
                        DodajValidacionuGresku(validacioneGreske, "", "Ne postoji racun za valutu {finansijskaTransakcija.SifraValuteRacunaBlagajne}!");
                        if (validacija == false)
                        {
                            throw new Exception("Ne postoji racun za valutu {finansijskaTransakcija.SifraValuteRacunaBlagajne}");
                        }
                    }
                    else
                    {
                        if (finansijskaTransakcija.Smer == SmerFinansijskeTransakcije.Izlaz &&
                            racun.Stanje < finansijskaTransakcija.Iznos &&
                            transakcija.FinansijskeTransakcije.Any(it => it.RacunBlagajne.SifraValute == racun.SifraValute && it.Smer == SmerFinansijskeTransakcije.Ulaz) == false)
                        {
                            DodajValidacionuGresku(validacioneGreske, "IznosIz", $"Nema dovoljno sredstava na računu {racun.SifraValute}!");
                            if (validacija == false)
                            {
                                throw new Exception($"Nema dovoljno sredstava na računu {racun.SifraValute}!");
                            }
                        }
                        else
                        {
                            switch (finansijskaTransakcija.Smer)
                            {
                            case SmerFinansijskeTransakcije.Izlaz:
                                racun.Stanje -= finansijskaTransakcija.Iznos;
                                break;

                            default:
                                racun.Stanje += finansijskaTransakcija.Iznos;
                                break;
                            }
                        }
                    }
                }

                if (validacija == false)
                {
                    context.SaveChanges();
                }
            }
        }
コード例 #12
0
        private static Valuta VratiValutu(string sifra)
        {
            Valuta valuta;

            using (var context = new ExchangeDbContext())
            {
                valuta = context.Valute.FirstOrDefault(it => it.Sifra == sifra);
            }

            return(valuta);
        }
コード例 #13
0
        private static StavkaKursneListe VratiStavkuKursneListe(string sifraDomaceValute, string valutaTransakcije)
        {
            StavkaKursneListe stavkaKursneListe;

            using (var context = new ExchangeDbContext())
            {
                stavkaKursneListe = context
                                    .StavkeKursnihLista
                                    .FirstOrDefault(it =>
                                                    it.SifraValuteKursneListe.ToLower().Trim() == sifraDomaceValute.ToLower().Trim() &&
                                                    it.SifraValutaStavke.ToLower().Trim() == valutaTransakcije.ToLower().Trim());
            }

            return(stavkaKursneListe);
        }
コード例 #14
0
        private static string VratiDomacuValutu()
        {
            string sifraDomaceValute;

            using (var context = new ExchangeDbContext())
            {
                var domacaValuta = context.Valute.FirstOrDefault(it => it.Domaca);
                if (domacaValuta != null)
                {
                    sifraDomaceValute = domacaValuta.Sifra;
                }
                else
                {
                    throw new Exception("Domaca valuta nije postavljena!!!");
                }
            }

            return(sifraDomaceValute);
        }
コード例 #15
0
ファイル: UtilityClass.cs プロジェクト: NabGroupTec/Exchange
        public static DataTable GetData(string sql)
        {
            var result = new DataSet();

            using (var context = new ExchangeDbContext())
            {
                var cmd = context.Database.Connection.CreateCommand();
                //cmd.CommandType = commandType;
                cmd.CommandText = sql;

                //foreach (var pr in parameters)
                //{
                //    var p = cmd.CreateParameter();
                //    p.ParameterName = pr.Key;
                //    p.Value = pr.Value;
                //    cmd.Parameters.Add(p);
                //}

                try
                {
                    context.Database.Connection.Open();
                    var reader = cmd.ExecuteReader();

                    do
                    {
                        var tb = new DataTable();
                        tb.Load(reader);
                        result.Tables.Add(tb);
                    } while (!reader.IsClosed);
                }
                finally
                {
                    context.Database.Connection.Close();
                }
            }

            return(result.Tables[0]);
        }
コード例 #16
0
ファイル: Store.cs プロジェクト: szydlaczek/CleanArchiecture
 public Store(ExchangeDbContext context)
 {
     _context = context;
 }
コード例 #17
0
 public ExchangeApplicationController(ExchangeDbContext db)
 {
     this._db = db;
 }
コード例 #18
0
 public UserController(ExchangeDbContext context, ErrorMessageService ems)
 {
     _context = context;
     _ems     = ems;
 }
コード例 #19
0
        private static Dictionary <string, List <string> > IzvrsiInternal(StornoCmd cmd, bool validacija = false)
        {
            var rezultat = new Dictionary <string, List <string> >();

            using (var context = new ExchangeDbContext())
            {
                var transakcija = context.Transakcije.FirstOrDefault(it => it.Id == cmd.IdTransakcije);
                if (transakcija == null)
                {
                    DodajValidacionuGresku(rezultat, "", $"Transakcija sa Id-jem {cmd.IdTransakcije} ne postoji!!!");
                    if (validacija == false)
                    {
                        throw new Exception($"Transakcija sa Id-jem {cmd.IdTransakcije} ne postoji!!!");
                    }
                }
                else
                {
                    transakcija.Stornirana = true;

                    if (cmd.Opis != null)
                    {
                        transakcija.Opis = cmd.Opis;
                    }

                    var brojac = transakcija.FinansijskeTransakcije.Max(it => it.Redosled);

                    var stornoFinansijskeTransakcije = transakcija.FinansijskeTransakcije.Select(
                        it => new FinansijskaTransakcija
                    {
                        Redosled = ++brojac,
                        Iznos    = it.Iznos,
                        Smer     = (it.Smer == SmerFinansijskeTransakcije.Ulaz) ? SmerFinansijskeTransakcije.Izlaz : SmerFinansijskeTransakcije.Ulaz,
                        SifraValuteRacunaBlagajne = it.SifraValuteRacunaBlagajne
                    }).ToList();

                    foreach (var finansijskaTransakcija in stornoFinansijskeTransakcije)
                    {
                        var racun = context.RacuniBlagajne.FirstOrDefault(it =>
                                                                          it.SifraValute.ToLower().Trim() ==
                                                                          finansijskaTransakcija.SifraValuteRacunaBlagajne.ToLower().Trim());

                        if (racun == null)
                        {
                            DodajValidacionuGresku(rezultat, "", $"Ne postoji racun za valutu {finansijskaTransakcija.SifraValuteRacunaBlagajne}!!!");
                            if (validacija == false)
                            {
                                throw new Exception($"Ne postoji racun za valutu {finansijskaTransakcija.SifraValuteRacunaBlagajne}!!!");
                            }
                        }
                        else
                        {
                            if (racun.Stanje < finansijskaTransakcija.Iznos)
                            {
                                DodajValidacionuGresku(rezultat, "", $"Nema dovoljno sredstava na racunu {racun.SifraValute}!!!");
                                if (validacija == false)
                                {
                                    throw new Exception($"Nema dovoljno sredstava na racunu {racun.SifraValute}!!!");
                                }
                            }
                            else
                            {
                                switch (finansijskaTransakcija.Smer)
                                {
                                case SmerFinansijskeTransakcije.Izlaz:
                                    racun.Stanje -= finansijskaTransakcija.Iznos;
                                    break;

                                default:
                                    racun.Stanje += finansijskaTransakcija.Iznos;
                                    break;
                                }
                                transakcija.FinansijskeTransakcije.Add(finansijskaTransakcija);
                            }
                        }
                    }

                    if (validacija == false)
                    {
                        context.SaveChanges();
                    }
                }
            }

            return(rezultat);
        }
コード例 #20
0
 public RoleStore(ExchangeDbContext context) : base(context)
 {
 }
コード例 #21
0
 public FiltersController(ExchangeDbContext db)
 {
     this._db = db;
 }
コード例 #22
0
 public RegistrationController(ILogger <RegistrationController> logger, ExchangeDbContext context)
 {
     _logger  = logger;
     _context = context;
 }
コード例 #23
0
 public UserStore(RoleStore roleStore, ExchangeDbContext context) : base(context)
 {
     _roles = roleStore;
 }
コード例 #24
0
 public AdminController(ExchangeDbContext db)
 {
     this._db = db;
 }
コード例 #25
0
 public BasicAuthenticationEventHandler(ExchangeDbContext db)
 {
     this._db = db;
 }
コード例 #26
0
ファイル: DealRepository.cs プロジェクト: avareev/ExchangeGb
 public DealRepository(ExchangeDbContext context)
 {
     _context = context;
 }
コード例 #27
0
 public DrzaveService(ExchangeDbContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
コード例 #28
0
        private static StudentApplication MapApplicationFormToApplication(ExchangeDbContext db, ApplicationFormVM form, bool asStaff)
        {
            var now = DateTime.UtcNow;
            Func <String, UWAUnitLevel?> parseUnitLevel = (label) => {
                object level;
                if (Enum.TryParse(typeof(UWAUnitLevel), label, true, out level))
                {
                    return((UWAUnitLevel?)level);
                }
                return((UWAUnitLevel?)null);
            };

            var newApplication = new StudentApplication
            {
                SubmittedAt               = now,
                LastUpdatedAt             = now,
                StudentName               = form.StudentDetailsForm.Name,
                StudentNumber             = form.StudentDetailsForm.Email,
                Major1st                  = form.StudentDetailsForm.Major,
                Major2nd                  = form.StudentDetailsForm.Major2nd,
                StudentOffice             = form.StudentDetailsForm.StudentOffice?.Value,
                ExchangeUniversityCountry = form.ExchangeUniversityForm.UniversityCountry,
                ExchangeUniversityName    = form.ExchangeUniversityForm.UniversityName,
                ExchangeUniversityHref    = form.ExchangeUniversityForm.UniversityHomepage,
                UnitSets                  = form.UnitSetForms.Select(f => new UnitSet
                {
                    ExchangeUniversityCountry = form.ExchangeUniversityForm.UniversityCountry,
                    ExchangeUniversityName    = form.ExchangeUniversityForm.UniversityName,
                    ExchangeUniversityHref    = form.ExchangeUniversityForm.UniversityHomepage,
                    IsEquivalent = asStaff
                        ? f.StaffApprovalForm.IsEquivalent.Value
                        : (bool?)null,
                    IsContextuallyApproved = asStaff
                        ? f.StaffApprovalForm.IsContextuallyApproved.Value
                        : (bool?)null,
                    EquivalentUWAUnitLevel = asStaff
                        ? parseUnitLevel(f.StaffApprovalForm.EquivalentUnitLevel.Label)
                        : (UWAUnitLevel?)null,
                    ExchangeUnits = f.ExchangeUnitForms.Select(u => new ExchangeUnit
                    {
                        Code  = u.UnitCode,
                        Title = u.UnitName,
                        Href  = u.UnitHref
                    }).ToList(),
                    UWAUnits = f.UWAUnitForms?.Select(u => new UWAUnit
                    {
                        Code  = u.UnitCode,
                        Title = u.UnitName,
                        Href  = u.UnitHref
                    }).ToList() ?? new List <UWAUnit>(),
                    Comments = f.StaffApprovalForm.Comments
                }).ToList(),
            };

            /* Calculate the status of the application */
            newApplication.Status = MapUnitSetsToStatus(newApplication.UnitSets);
            /* Preserve when the student submitted the application */
            if (asStaff && form.ApplicationId.HasValue)
            {
                var oldApplication = db.StudentApplications.FirstOrDefault(a => a.StudentApplicationId == form.ApplicationId);
                if (oldApplication != null)
                {
                    newApplication.SubmittedAt = oldApplication.SubmittedAt;
                }
            }
            return(newApplication);
        }
コード例 #29
0
 public UnitSetEquivalenciesController(ExchangeDbContext db)
 {
     this._db = db;
 }
コード例 #30
0
 public SellOrderRepository(ExchangeDbContext dbContext)
 {
     _dbContext = dbContext;
 }