Esempio n. 1
0
 public static void CommitTransaction(this zModel db)
 {
     if (db.Database.CurrentTransaction != null)
     {
         db.Database.CurrentTransaction.Commit();
     }
 }
Esempio n. 2
0
 public static void RollbackTransaction(this zModel db)
 {
     if (db.Database.CurrentTransaction != null)
     {
         db.Database.CurrentTransaction.Rollback();
     }
 }
Esempio n. 3
0
 public TokenProviderMiddleware(RequestDelegate next, IOptions <TokenProviderOptions> options, ILoggerFactory logger, zModel db)
 {
     _next    = next;
     _options = options.Value;
     _logger  = logger.CreateLogger("TokenProviderMiddleware");
     _db      = db;
 }
Esempio n. 4
0
        public Task Invoke(HttpContext context)
        {
            if (!context.Request.Path.Equals(_options.Path, StringComparison.OrdinalIgnoreCase))
            {
                try
                {
                    if (context.Request.Headers.ContainsKey("Authorization"))
                    {
                        string token = context.Request.Headers["Authorization"];
                        if (token.StartsWith("Bearer "))
                        {
                            token = token.Split(' ')[1];
                        }

                        if (TokenHelper.DictionaryToken.Any(n => n.Value.Equals(token)))
                        {
                            var jwt = new JwtSecurityToken(token);
                            var _tk = jwt.Claims.GetValue <eTaiKhoan>(JwtRegisteredClaimNames.Aud);
                            if (_tk != null)
                            {
                                var role = new zModel().eQuyen.Where(n => n.PhanQuyenID == _tk.PhanQuyenID).Select(n => n.xChucNang);

                                string path = context.Request.Path.Value.Trim().ToLower();
                                if (path.Contains("?"))
                                {
                                    path = path.Split('?')[0].Trim();
                                }

                                if (role.Any(n =>
                                             n.Route.Equals(path) &&
                                             n.Methods.Equals(context.Request.Method.Trim(), StringComparison.OrdinalIgnoreCase)))
                                {
                                    context.Response.Headers.Remove("Authorization");
                                    var encodedJwt = jwt.RefeshToken();
                                    context.Response.Headers.Add("Authorization", "Bearer " + encodedJwt);
                                    return(_next(context));
                                }
                            }
                        }
                        context.Response.StatusCode = 401;
                        return(context.Response.WriteAsync("Unauthorized"));
                    }
                }
                catch
                {
                    context.Response.StatusCode = 401;
                    return(context.Response.WriteAsync("Unauthorized"));
                }
            }

            // Request must be POST with Content-Type: application/x-www-form-urlencoded
            if (!context.Request.Method.Equals("POST") || !context.Request.HasFormContentType)
            {
                context.Response.StatusCode = 400;
                return(context.Response.WriteAsync("Bad request."));
            }

            return(GenerateToken(context));
        }
Esempio n. 5
0
        public Repository(zModel context, Microsoft.Extensions.Logging.ILoggerFactory logger)
        {
            Type typeParameter = typeof(T);

            RepositoryName = typeParameter.Name;
            Context        = context;
            Logger         = logger.CreateLogger(RepositoryName);
        }
        public async Task <T> GetByID(object id)
        {
            try
            {
                Context = new zModel();
                T item = await Context.Set <T>().FindAsync(id.ConvertType <T>());

                return(item ?? new T());
            }
            catch { return(new T()); }
        }
        public async Task <IEnumerable <T> > GetAll()
        {
            try
            {
                Context = new zModel();
                IEnumerable <T> lstResult = await Context.Set <T>().ToListAsync();

                return(lstResult);
            }
            catch { return(new List <T>()); }
        }
Esempio n. 8
0
        public static void RegisterDatabase(HttpConfiguration config)
        {
            //aModel db = (aModel)ModuleHelper.HttpConfiguration.DependencyResolver.GetService(typeof(aModel));
            string conString = string.Empty;

            if (Extension.GetWebSettings("add", "name", "ConnectionDbContext", "connectionString", ref conString))
            {
                Define.Instance.ConnectionString = conString;
                Database.SetInitializer(new MigrateDatabaseToLatestVersion <zModel, CustomConfiguration>());
                zModel db = new zModel();
                db.Database.Initialize(false);
            }
            Log.Debug(MethodBase.GetCurrentMethod());
        }
 async static void InitDonViTinh()
 {
     zModel db = new zModel();
     await Task.Factory.StartNew(() =>
     {
         if (db.eDonViTinh.Count() == 0)
         {
             try
             {
                 string Query = File.ReadAllText($@"{Directory.GetCurrentDirectory()}\wwwroot\InitData\DATA_eDonViTinh.sql");
                 db.Database.ExecuteSqlCommandAsync(Query, new SqlParameter[] { }).Wait();
             }
             catch { }
         }
     });
 }
Esempio n. 10
0
        void GetPrimaryKey()
        {
            zModel db = new zModel();

            ModuleHelper.ListKeys = new List <IKey>();
            var eTypes = db.Model.GetEntityTypes();

            foreach (var eType in eTypes)
            {
                var keys = eType.GetKeys();
                foreach (var key in keys)
                {
                    ModuleHelper.ListKeys.Add(key);
                }
            }
        }
Esempio n. 11
0
        public static void SeedData(this IApplicationBuilder app)
        {
            _app = app;
            _db  = _app.ApplicationServices.GetService <zModel>();
            app.allControlller();

            if (!_db.ePhanQuyen.Any(n => n.TenQuyen.Equals("Admin")))
            {
                var nQuyen = new ePhanQuyen()
                {
                    TenQuyen = "Admin"
                };
                _db.ePhanQuyen.Add(nQuyen);

                if (_db.ChangeTracker.HasChanges())
                {
                    _db.SaveChanges();
                }

                _db.xChucNang.ToList().ForEach(n => _db.eQuyen.Add(new eQuyen()
                {
                    ChucNangID  = n.KeyID,
                    PhanQuyenID = nQuyen.KeyID
                }));

                if (_db.ChangeTracker.HasChanges())
                {
                    _db.SaveChanges();
                }
            }

            if (!_db.eTaiKhoan.Any(n => n.AccCode.Equals("admin")))
            {
                _db.eTaiKhoan.Add(new eTaiKhoan()
                {
                    AccCode     = "admin",
                    Password    = "******".Encrypt(),
                    AccName     = "admin",
                    PhanQuyenID = 1
                });
            }

            if (_db.ChangeTracker.HasChanges())
            {
                _db.SaveChanges();
            }
        }
        async Task <IActionResult> InitDonViTinh()
        {
            zModel db = new zModel();

            if (db.eDonViTinh.Count() == 0)
            {
                try
                {
                    string Query = System.IO.File.ReadAllText($@"{Directory.GetCurrentDirectory()}\wwwroot\InitData\DATA_eDonViTinh.sql");
                    await db.Database.ExecuteSqlCommandAsync(Query, new SqlParameter[] { });

                    return(Ok($"Init data {(typeof(eDonViTinh).Name)} success."));
                }
                catch (Exception ex) { return(BadRequest($"Init data {(typeof(eDonViTinh).Name)} fail: {ex}")); }
            }
            return(Ok($"No init {(typeof(eDonViTinh).Name)} data"));
        }
        public async Task <bool> UpdateEntry(T Item)
        {
            try
            {
                Context = new zModel();
                await Context.Database.BeginTransactionAsync();

                Context.Set <T>().Update(Item);
                await Context.SaveChangesAsync();

                Context.Database.CommitTransaction();
                return(true);
            }
            catch
            {
                Context.Database.RollbackTransaction();
                return(false);
            }
        }
        public async Task <bool> AddEntries(T[] Items)
        {
            try
            {
                Context = new zModel();
                await Context.Database.BeginTransactionAsync();

                await Context.Set <T>().AddRangeAsync(Items);

                await Context.SaveChangesAsync();

                Context.Database.CommitTransaction();
                return(true);
            }
            catch
            {
                Context.Database.RollbackTransaction();
                return(false);
            }
        }
        public async Task <bool> DeleteEntry(object id)
        {
            try
            {
                Context = new zModel();
                await Context.Database.BeginTransactionAsync();

                T Item = await Context.Set <T>().FindAsync(id);

                Context.Set <T>().Remove(Item);
                await Context.SaveChangesAsync();

                Context.Database.CommitTransaction();
                return(true);
            }
            catch
            {
                Context.Database.RollbackTransaction();
                return(false);
            }
        }
        public async Task <bool> DeleteEntries(T[] Items)
        {
            try
            {
                Context = new zModel();
                await Context.Database.BeginTransactionAsync();

                foreach (T Item in Items)
                {
                    Context.Set <T>().Attach(Item);
                    Context.Set <T>().Remove(Item);
                }
                await Context.SaveChangesAsync();

                Context.Database.CommitTransaction();
                return(true);
            }
            catch
            {
                Context.Database.RollbackTransaction();
                return(false);
            }
        }
Esempio n. 17
0
 public Repository(zModel db)
 {
     context = db;
 }
Esempio n. 18
0
 public Repository()
 {
     context = new zModel();
 }
Esempio n. 19
0
 public RepositoryCollection(zModel db)
 {
     this.db = db;
 }
Esempio n. 20
0
 public Repository(zModel db)
 {
     this.db = db;
     entity  = db.Set <T>();
 }
Esempio n. 21
0
 public static void BeginTransaction(this zModel db)
 {
     db.Database.BeginTransaction();
 }
Esempio n. 22
0
 public RepositoryCollection(zModel context, Microsoft.Extensions.Logging.ILoggerFactory logger)
 {
     this._context = context;
     this._logger  = logger;
 }
Esempio n. 23
0
 public UnitOfWork(zModel db)
 {
     context = db;
 }
Esempio n. 24
0
 public UnitOfWork()
 {
     context = new zModel();
 }
 public Repository(zModel db)
 {
     this.Context = db;
 }
Esempio n. 26
0
 public RepositoryCollection(zModel db)
 {
     this.Context = db;
 }