public string InsertCompanyModules(int companyid)
        {
            C3Entities context = new C3Entities();

            int moduleid = 0;
            int[] menus = { 0 };
            string m = "";
            int i = 0;

            var query = from t in context.Modules
                        where (t.ParentID!=0 && t.RelativePath == null)
                        orderby t.ModuleID ascending
                        select t.ModuleID;

            if (query.Count() > 0)
            {
                menus = new int[query.Count()];
                foreach (var q in query)
                {
                    moduleid = q;
                    m += q + ",";
                    menus[i] = q;
                    i++;
                }

            }

            foreach(int j in menus)
            {

                var companymodules = new CompanyModule { CompanyID=companyid, ModuleID = j, IsDeleted=false, CreatedTime = DateTime.Now, ModifiedTime = DateTime.Now };
                context.CompanyModules.Add(companymodules);
                context.SaveChanges();

            }

            return m;
        }
        public void InsertACLAction(int roleid,int companyid)
        {
            //var acs = false;

            //if (access == "1")
            //    acs = true;
            //if (access == "0")
            //    acs = false;

            //var aclaction = new ACLAction
            //{
            //    ModuleID = moduleId,
            //    FunctionID = functionId,
            //    CreatedTime = DateTime.Now,
            //    Access = acs,
            //    RoleID = roleid

            //};

            //context.ACLActions.Add(aclaction);
            //SaveChanges();

            if (companyid == 0)
            {
                companyid = Convert.ToInt32(HttpContext.Current.Session["CompanyID"]);
            }

            C3Entities context = new C3Entities();

            int moduleid = 0;
            int functionid = 0;
            int[] menus = { 0 };
            int[] functions = { 0 };
            int i = 0;
            int j = 0;

            var query = from t in context.CompanyModules
                        where (t.CompanyID == companyid)
                        orderby t.ModuleID ascending
                        select t.ModuleID;

            if (query.Count() > 0)
            {
                menus = new int[query.Count()];
                foreach (var q in query)
                {
                    moduleid = q;
                    menus[i] = q;
                    i++;
                }

            }

            var query1 = from t in context.ACLFunctions
                         orderby t.FunctionOrder ascending
                         select t.FunctionID;

            if (query1.Count() > 0)
            {
                functions = new int[query1.Count()];
                foreach (var q1 in query1)
                {
                    functionid = q1;
                    functions[j] = q1;
                    j++;

                }
            }

            foreach (int x in menus)
            {
                foreach (int y in functions)
                {
                    var aclaction = new ACLAction { ModuleID = x, FunctionID = y, Access = true, RoleID = roleid, CreatedTime = DateTime.Now };
                    context.ACLActions.Add(aclaction);
                    context.SaveChanges();
                    //SaveChanges();

                }
            }
        }