//ürünün kategorisini göstermek için inner join yazacağız

        //geri dönüş değeri olarak list aldık
        public List <Kategori> GetirKategoriler(int urunid)
        {
            //join sorgumuzu yazıyoruz

            using var context = new CoreAppContext();
            //önce ürünlerden gidip ara tablo ile birleştirme yapacağız
            //daha sonra kategori tablosuna gideceğiz
            return(context.Urunler.Join(context.UrunKategoriler, urun => urun.UrunID, urunKategori => urunKategori.UrunId,
                                        //ürün ile ürünkategoriler arasında bir ilişki oluştu
                                        (u, uc) => new
            {
                urun = u,         //urun için u
                urunKategori = uc //urun kategori için uc
                                  //şimdi de ürünkategorilerden kategorilerle join yapcaz
            }).Join(context.Kategoriler, iki => iki.urunKategori.Kategorid, kategori => kategori.KategoriID,

                    (uc, k) => new
            {
                urun = uc.urun,
                kategori = k,
                urunKategori = uc.urunKategori

                               //3 tablo birleşmşi oldu
            }

                    ).Where(I => I.urun.UrunID == urunid).Select(I => new Kategori
            {
                KategoriAD = I.kategori.KategoriAD,
                KategoriID = I.kategori.KategoriID,
            }).ToList());
        }
Exemplo n.º 2
0
        public void InitialTestContext()
        {
            if (CoreAppContext.Identity == null)
            {
                var appIdentity = new AppIdentity()
                {
                    tenant_id = "1",
                    app_id    = AppInfoHelper.AppId,
                    UDID      = "TestDevice",
                };
                //AppInfoHelper.FormatAppIdInfo(appIdentity);
                CoreAppContext.SetIdentity(appIdentity);
            }

            if (CoreUserContext.Identity == null)
            {
                var userIdentity = new UserIdentity()
                {
                    id        = userId,
                    auth_type = PortalAuthorizeType.Admin
                };

                CoreUserContext.SetIdentity(userIdentity);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        ///  初始化当前请求上下文的应用全局信息
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static AppIdentity InitialCoreAppIdentity(this HttpContext context)
        {
            var sysInfo = CoreAppContext.Identity;

            if (sysInfo != null)
            {
                return(sysInfo);
            }

            sysInfo = new AppIdentity();

            CoreAppContext.SetIdentity(sysInfo);
            return(sysInfo);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 检查授权
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public async Task OnAuthorizationAsync(AuthorizationFilterContext context)
        {
            var controllerActionDescriptor = (context.ActionDescriptor as ControllerActionDescriptor);

            if (controllerActionDescriptor.MethodInfo.GetCustomAttributes(typeof(AllowAnonymousAttribute), true).Any())
            {
                return;
            }
            var userClaim = context.HttpContext.User.FindFirst(ClaimTypes.Sid);

            if (userClaim == null || userClaim.Value.IsEmpty())
            {
                AuthorizationFailResult(context);
                return;
            }
            var cacheManagerService = CoreAppContext.GetService <ICacheManagerService>();
            var roleIds             = await cacheManagerService.GetOrAdd <List <int> >(String.Format(CoreConst.USERROLES, userClaim.Value), () =>
            {
                return(SystemUserService.Instance.GetSystemUserRole(int.Parse(userClaim.Value)).Select(x => x.RoleId).ToList());
            }, TimeSpan.FromMinutes(30));

            var controllerActionPermissions = await cacheManagerService.GetOrAdd <List <AuthorizationModel> >(String.Format(CoreConst.USERROLEACTIONS, userClaim.Value), () =>
            {
                var controllerActionPermissions = SystemUserService.Instance.GetRolePermissions(roleIds);
                List <AuthorizationModel> authorizationModels = new List <AuthorizationModel>();
                foreach (var item in controllerActionPermissions.Item2)
                {
                    var controller = controllerActionPermissions.Item1.SingleOrDefault(x => x.Id == item.ControllerId);
                    authorizationModels.Add(new AuthorizationModel
                    {
                        Action     = item.Action,
                        Area       = controller.Area,
                        Controller = controller.Controller
                    });
                }
                return(authorizationModels);
            }, TimeSpan.FromMinutes(30));

            var area       = context.RouteData.Values["Area"].ToString();
            var controller = context.RouteData.Values["Controller"].ToString();
            var action     = context.RouteData.Values["Action"].ToString();

            if (!controllerActionPermissions.Any(x => x.Area == area && x.Controller == controller && x.Action == action))
            {
                AuthorizationFailResult(context);
                return;
            }
        }
        public List <Urun> GetirKategoriIdile(int kategoriId)
        {
            //join sorgusu yazıyoruz
            //Urunler ile UrunKategori Tablosunu join etcez


            using var context = new CoreAppContext();
            return(context.Urunler.Join(context.UrunKategoriler, u => u.UrunID, uc => uc.UrunId, (urun, urunKategori) => new
            {
                Urun = urun,
                UrunKategori = urunKategori
            }).Where(I => I.UrunKategori.Kategorid == kategoriId).Select(
                       I => new Urun
            {
                UrunID = I.Urun.UrunID,
                UrunAd = I.Urun.UrunAd,
                Fiyat = I.Urun.Fiyat,
                Resim = I.Urun.Resim
            }



                       ).ToList());
        }
Exemplo n.º 6
0
 public void Ekle(Tablo tablo)
 {
     using var context = new CoreAppContext();
     context.Set <Tablo>().Add(tablo);
     context.SaveChanges();
 }
Exemplo n.º 7
0
        public IActionResult InitPermissions()
        {
            return(Invoke <IActionResult>(() =>
            {
                var roleClaim = HttpContext.User.FindFirst(ClaimTypes.Role);
                var userClaim = HttpContext.User.FindFirst(ClaimTypes.Sid);
                var cacheManagerService = CoreAppContext.GetService <ICacheManagerService>();
                var roles = cacheManagerService.GetOrAdd <List <Role> >(String.Format(CoreConst.USERROLES, roleClaim.Value), () =>
                {
                    var roleIds = roleClaim.Value.Split(',').ToList();
                    return GetInstance <Role>().GetByCondition(new ExpressionSpecification <Role>(x => roleIds.Contains(x.Id.ToString()))).ToList();
                }, TimeSpan.FromMinutes(30)).Result;

                if (!roles.Any(x => x.IsSystemAdmin))
                {
                    return JsonFail("权限不足!");
                }

                var roleId = roles.Where(x => x.IsSystemAdmin).FirstOrDefault().Id;
                var controllerService = GetInstance <ControllerPermissions>();
                var actionService = GetInstance <ActionPermissions>();
                var controllerRoleService = GetInstance <ControllerRole>();
                var actionRoleServic = GetInstance <ActionRole>();
                var assembly = Assembly.GetExecutingAssembly();

                var controllerTypes = assembly.GetTypes().Where(x => !x.IsAbstract && typeof(Controller).IsAssignableFrom(x));
                if (controllerTypes.Count() > 0)
                {
                    var area = controllerTypes.First().Namespace.Split('.').Last();
                    foreach (Type controllerType in controllerTypes)
                    {
                        string name = string.Empty;
                        var controllerInitializeAttribute = controllerType.GetCustomAttribute(typeof(InitializeAttribute)) as InitializeAttribute;
                        if (controllerInitializeAttribute != null)
                        {
                            name = controllerInitializeAttribute.FunctionName;
                            area = controllerInitializeAttribute.Area;
                        }

                        if (controllerInitializeAttribute == null)
                        {
                            continue;
                        }

                        var controller = controllerType.Name.Replace("Controller", "");
                        var controllerPermissions = controllerService.GetByCondition(new ExpressionSpecification <ControllerPermissions>(x => x.Area == area && x.Controller == controller));
                        int controllerId = 0, actionId = 0;
                        if (controllerInitializeAttribute != null && controllerPermissions.Count == 0)
                        {
                            controllerId = controllerService.Add(new ControllerPermissions
                            {
                                ModuleName = name,
                                CreateTime = DateTime.Now,
                                Controller = controller,
                                ModuleUrl = controllerInitializeAttribute.ModuleUrl,
                                Area = area,
                                Icon = controllerInitializeAttribute.Icon,
                                SortId = controllerInitializeAttribute.SortId,
                                IsShow = controllerInitializeAttribute.IsShow
                            });
                        }

                        if (controllerPermissions.Count > 0)
                        {
                            controllerId = controllerPermissions.First().Id;
                        }

                        var methods = controllerType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
                        foreach (MethodInfo item in methods)
                        {
                            var actionAttributes = item.GetCustomAttribute(typeof(InitializeAttribute)) as InitializeAttribute;
                            if (actionAttributes != null)
                            {
                                name = actionAttributes.FunctionName;
                            }

                            if (actionAttributes == null)
                            {
                                continue;
                            }

                            var action = item.Name;
                            var actionPermissions = actionService.GetByCondition(new ExpressionSpecification <ActionPermissions>(x => x.Action == action && x.ControllerId == controllerId));
                            if (actionAttributes != null && actionPermissions.Count == 0)
                            {
                                actionId = actionService.Add(new ActionPermissions
                                {
                                    Action = action,
                                    ActionName = name,
                                    CreateTime = DateTime.Now,
                                    Icon = actionAttributes.Icon,
                                    SortId = actionAttributes.SortId,
                                    IsShow = actionAttributes.IsShow,
                                    ControllerId = controllerId
                                });
                            }

                            if (actionPermissions.Count > 0)
                            {
                                actionId = actionPermissions.First().Id;
                            }

                            if (controllerId != 0)
                            {
                                var controllerRoles = controllerRoleService.GetByCondition(new ExpressionSpecification <ControllerRole>(x => x.ControllerId == controllerId && x.RoleId == roleId));
                                if (controllerRoles.Count == 0)
                                {
                                    controllerRoleService.Add(new ControllerRole
                                    {
                                        CreateTime = DateTime.Now,
                                        RoleId = roleId,
                                        SortId = 1,
                                        SystemId = 1,
                                        ControllerId = controllerId,
                                    });
                                }
                            }

                            if (actionId != 0)
                            {
                                var controllerRoles = actionRoleServic.GetByCondition(new ExpressionSpecification <ActionRole>(x => x.ActionId == actionId && x.RoleId == roleId));
                                if (controllerRoles.Count == 0)
                                {
                                    actionRoleServic.Add(new ActionRole
                                    {
                                        CreateTime = DateTime.Now,
                                        RoleId = roleId,
                                        SortId = 1,
                                        SystemId = 1,
                                        ActionId = actionId,
                                        ControllerId = controllerId
                                    });
                                }
                            }
                        }
                    }
                }
                cacheManagerService.Remove(string.Format(CoreConst.USERROLEACTIONS, userClaim.Value));
                return JsonSuccess("初始化成功!");
            }));
        }
Exemplo n.º 8
0
 public ClassesController(CoreAppContext context)
 {
     _context = context;
 }
Exemplo n.º 9
0
 /// <summary>
 /// Contructor
 /// </summary>
 /// <param name="context">Object context</param>
 protected BaseRepository(CoreAppContext context)
 {
     _context = context;
 }
Exemplo n.º 10
0
 public List <Tablo> GetirListe()
 {
     using var context = new CoreAppContext();
     return(context.Set <Tablo>().ToList());
 }
 public GetAllShoppingListsHandler(CoreAppContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
Exemplo n.º 12
0
        public UrunKategoriTBL GetirFilteile(Expression <Func <UrunKategoriTBL, bool> > expression)
        {
            using var context = new CoreAppContext();

            return(context.UrunKategoriler.FirstOrDefault(expression));
        }
Exemplo n.º 13
0
 public UserService(CoreAppContext _context)
 {
     dbContext = _context;
 }
Exemplo n.º 14
0
 public UserRep(CoreAppContext context) : base(context)
 {
 }
Exemplo n.º 15
0
 public void Guncelle(Tablo tablo)
 {
     using var context = new CoreAppContext();
     context.Set <Tablo>().Update(tablo);
     context.SaveChanges();
 }
Exemplo n.º 16
0
 public void Sil(Tablo tablo)
 {
     using var context = new CoreAppContext();
     context.Set <Tablo>().Remove(tablo);
     context.SaveChanges();
 }
Exemplo n.º 17
0
 public EntityRepository(CoreAppContext context)
 {
     dbContext = context;
     _dbset    = dbContext.Set <T>();
 }
Exemplo n.º 18
0
 public Tablo GetirIdile(int id)
 {
     using var context = new CoreAppContext();
     return(context.Set <Tablo>().Find(id));
 }
Exemplo n.º 19
0
 /// <summary>
 /// ctor
 /// </summary>
 public BaseController()
 {
     this._mapper     = CoreAppContext.GetService <IMapper>();
     this._logger     = CoreAppContext.GetService <ILogger <BaseController> >();
     this._coreUpload = CoreAppContext.GetService <IOptions <CoreUpload> >().Value;
 }