/// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <Result <SecondLevel> > updateSecondLevelDir(SecondLevel model)
        {
            Result <SecondLevel> result = new Result <SecondLevel>();

            try
            {
                using (DirDbContext context = new DirDbContext())
                {
                    var data = context.secondLevels.Where(x => x.activityFlag == 1 && x.id == model.id).FirstOrDefault();
                    if (data != null)
                    {
                        data.orderId         = model.orderId;
                        data.title           = model.title;
                        data.open            = model.open;
                        data.url             = model.url;
                        data.firstLevelId    = model.firstLevelId;
                        data.lastUpdatedBy   = model.lastUpdatedBy;
                        data.lastUpdatedDate = model.lastUpdatedDate;
                    }
                    var count = await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }


            return(result);
        }
        /// <summary>
        /// 增加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <Result <SecondLevel> > addSecondLevelDir(SecondLevel model)
        {
            Result <SecondLevel> result = new Result <SecondLevel>();

            using (DirDbContext context = new DirDbContext())
            {
                try
                {
                    var data = context.secondLevels.FirstOrDefault(x => x.title == model.title);
                    if (data != null)
                    {
                        result.addError($"目录名{model.title}已经存在");
                    }
                    else
                    {
                        result.data = context.secondLevels.Add(model);
                        await context.SaveChangesAsync();
                    }
                }
                catch (Exception err)
                {
                    result.addError(err.Message);
                }
            }
            return(result);
        }
Beispiel #3
0
        public static async Task Main(string[] args)
        {
            using (var db = new DirDbContext("temp1.db", null))
            {
                db.Database.Migrate();
                var folder = new EncryptedFolder
                {
                    Name          = "First folder",
                    Created       = DateTime.Now,
                    EncryptedName = "First folder encrypted",
                    Files         = new List <EncryptedFile>
                    {
                        new EncryptedFile
                        {
                            Name = "First file"
                        },
                        new EncryptedFile
                        {
                            Name = "Second file"
                        }
                    }
                };
                db.Folders.Add(folder);
                await db.SaveChangesAsync();
            }

            Console.WriteLine("End");
            Console.ReadKey();
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Result <int> deleteSecondlevelDir(int id)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (var ts = new TransactionScope())
                {
                    DirDbContext      context     = new DirDbContext();
                    RoleMenuDbContext roleContext = new RoleMenuDbContext();
                    var entity = context.secondLevels.Where(x => x.id == id).FirstOrDefault();
                    if (entity != null)
                    {
                        context.secondLevels.Remove(entity);
                        context.SaveChanges();
                    }
                    var roleMenu = roleContext.roleMenus.Where(x => x.menuLevel == 2 && x.menuId == id).FirstOrDefault();
                    if (roleMenu != null)
                    {
                        roleContext.roleMenus.Remove(roleMenu);
                        roleContext.SaveChanges();
                    }
                    ts.Complete();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
        /// <summary>
        /// 获取所有主菜单list
        /// </summary>
        /// <returns></returns>
        public List <SecondLevel> getSecondLevelDirList()
        {
            DirDbContext context = new DirDbContext();
            var          result  = context.secondLevels.Where(x => x.activityFlag == 1);

            result = result.OrderBy(x => x.orderId).ThenBy(x => x.id);
            return(result.ToList());
        }
Beispiel #6
0
 public Backuper(
     DirDbContext db,
     IEncryptor encryptor,
     CloudClient cloudClient)
 {
     this.db          = db;
     this.encryptor   = encryptor;
     this.cloudClient = cloudClient;
 }
 public SyncFoldersReader(
     DirDbContext db,
     IStorage remoteStorage,
     string deviceName,
     IStorageFactory storageFactory)
 {
     this.db             = db;
     this.remoteStorage  = remoteStorage;
     this.deviceName     = deviceName;
     this.storageFactory = storageFactory;
 }
Beispiel #8
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int updateFirstLevelDir(FirstLevelDirModel model)
        {
            DirDbContext context = new DirDbContext();
            var          result  = context.firstLevels.Where(x => x.id > 0 && x.activityFlag == 1);

            result = model.id.HasValue ? result.Where(x => x.id == model.id.Value) : null;
            if (result != null)
            {
                FirstLevel entity = result.First();
                modelToEntity(model, ref entity);
            }
            return(context.SaveChanges());
        }
        public string searchMainDir(string roleId)
        {
            DirDbContext      dirContext  = new DirDbContext();
            RoleMenuDbContext roleContext = new RoleMenuDbContext();
            var           menuIds         = roleContext.roleMenus.Where(x => x.roleId == roleId && x.menuLevel == 1).Select(x => x.menuId).ToArray();
            var           mainDir         = dirContext.firstLevels.Where(x => menuIds.Contains(x.id) && x.activityFlag == 1).OrderBy(x => x.orderId).ToList();
            StringBuilder htmlStr         = new StringBuilder("");

            foreach (var item in mainDir)
            {
                htmlStr.Append(item.beforContent).Append(item.midContent).Append(item.afterContent);
            }
            return(htmlStr.ToString());
        }
        /// <summary>
        /// 根据id获取一条二级菜单
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Result <SecondLevel> getSingleSecondDir(int id)
        {
            Result <SecondLevel> result = new Result <SecondLevel>();

            try
            {
                DirDbContext context = new DirDbContext();
                result.data = context.secondLevels.FirstOrDefault(x => x.activityFlag == 1 && x.id == id);
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
Beispiel #11
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int deleteFirstlevelDir(int id)
        {
            //DONE: delete from roleMenu
            DirDbContext context = new DirDbContext();
            var          result  = context.firstLevels.Where(x => x.id > 0 && x.id == id);
            FirstLevel   entity  = result.First();

            context.firstLevels.Remove(entity);

            RoleMenuDbContext roleContext = new RoleMenuDbContext();
            var roleMenu = roleContext.roleMenus.Where(x => x.menuLevel == 1 && x.menuId == id).First();

            roleContext.roleMenus.Remove(roleMenu);
            roleContext.SaveChanges();
            return(context.SaveChanges());
        }
Beispiel #12
0
        /// <summary>
        /// 增加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int addFirstLevelDir(FirstLevelDirModel model)
        {
            DirDbContext context = new DirDbContext();

            if (model != null)
            {
                FirstLevel entity = new FirstLevel();
                modelToEntity(model, ref entity);
                DirTools tools = new DirTools();
                entity.afterContent = tools.afterContent;
                entity.beforContent = tools.beforContent;
                entity.activityFlag = 1;
                var result = context.firstLevels.Add(entity);
            }
            return(context.SaveChanges());
        }
        /// <summary>
        /// 获取第一层目录字典
        /// </summary>
        /// <returns></returns>
        public static Dictionary <int, string> FirstMenuInfo(this HtmlHelper html)
        {
            Dictionary <int, string> dict = new Dictionary <int, string>();

            dict.Add(0, "");
            DirDbContext context = new DirDbContext();

            try
            {
                var dataList = context.firstLevels.Where(x => x.activityFlag == 1).ToList();
                dataList.ForEach(x => dict.Add(x.id, x.midContent));
            }
            catch (Exception)
            {
            }
            return(dict);
        }
        /// <summary>
        /// 获取总条数
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public int getSecondLevelDirCount(SecondMenuQuery condition)
        {
            int result = 0;

            try
            {
                DirDbContext context = new DirDbContext();
                var          sql     = context.secondLevels.Where(x => x.activityFlag == 1);
                sql    = string.IsNullOrEmpty(condition.title) ? sql : sql.Where(x => x.title == condition.title);
                sql    = condition.firstLevelID == 0 ? sql : sql.Where(x => x.firstLevelId == condition.firstLevelID);
                result = sql.Count();
            }
            catch (Exception)
            {
            }
            return(result);
        }
Beispiel #15
0
        /// <summary>
        /// 获取总条数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int getFirstLevelDirCount(FirstLevelDirModel model)
        {
            DirDbContext context = new DirDbContext();
            var          result  = context.firstLevels.Where(x => x.id > 0 && x.activityFlag == 1);

            if (model.id.HasValue)
            {
                result = result.Where(x => x.id == model.id.Value);
            }
            else
            {
                result = model.orderId.HasValue ? result : result.Where(x => x.orderId == model.orderId);
                result = string.IsNullOrEmpty(model.content) ? result : result.Where(x => x.midContent == model.content);
                result = string.IsNullOrEmpty(model.createdBy) ? result : result.Where(x => x.createdBy == model.createdBy);
                result = string.IsNullOrEmpty(model.lastUpdatedBy) ? result : result.Where(x => x.lastUpdatedBy == model.lastUpdatedBy);
                result = model.createdDate.HasValue ? result : result.Where(x => x.createdDate == model.createdDate);
                result = model.lastUpdatedDate.HasValue ? result : result.Where(x => x.lastUpdatedDate == model.lastUpdatedDate);
            }
            return(result.Count());
        }
        public List <Menu> searchSecondDir(string roleId, int ID)
        {
            DirDbContext      dirContext  = new DirDbContext();
            RoleMenuDbContext roleContext = new RoleMenuDbContext();
            var         menuIds           = roleContext.roleMenus.Where(x => x.roleId == roleId && x.menuLevel == 2).Select(x => x.menuId).ToArray();
            var         secondDirs        = dirContext.secondLevels.Where(x => x.firstLevelId == ID && menuIds.Contains(x.id) && x.activityFlag == 1).OrderBy(x => x.orderId).ToList();
            List <Menu> result            = new List <Menu>();
            Menu        model             = null;

            foreach (var item in secondDirs)
            {
                model       = new Menu();
                model.Id    = item.id;
                model.open  = item.open;
                model.title = item.title;
                model.url   = item.url;
                result.Add(model);
            }
            return(result);
        }
Beispiel #17
0
        /// <summary>
        /// 根据menuID ,level获取menuName
        /// </summary>
        /// <param name="html"></param>
        /// <param name="menuId"></param>
        /// <param name="menuLevel"></param>
        /// <returns></returns>
        public static MvcHtmlString getMenuName(this HtmlHelper html, int menuId, int menuLevel)
        {
            string       menuName = "";
            DirDbContext entities = new DirDbContext();

            switch (menuLevel)
            {
            case 1:
                menuName = entities.firstLevels.Where(x => x.id == menuId).Select(x => x.midContent).First();
                break;

            case 2:
                menuName = entities.secondLevels.Where(x => x.id == menuId).Select(x => x.title).First();
                break;

            default:
                break;
            }
            return(new MvcHtmlString(menuName));
        }
        /// <summary>
        /// 根据动态条件获取所有2级菜单集合
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Result <List <SecondLevel> > getSecondLevelDir(Pager <List <SecondLevel> > pager, SecondMenuQuery condition)
        {
            Result <List <SecondLevel> > result = new Result <List <SecondLevel> >();

            try
            {
                DirDbContext context = new DirDbContext();
                var          sql     = context.secondLevels.Where(x => x.activityFlag == 1);
                int          start   = (pager.page - 1) * pager.recPerPage;
                sql         = string.IsNullOrEmpty(condition.title) ? sql : sql.Where(x => x.title == condition.title);
                sql         = condition.firstLevelID == 0 ? sql : sql.Where(x => x.firstLevelId == condition.firstLevelID);
                sql         = sql.OrderBy(x => x.orderId).ThenBy(x => x.title).Skip(start).Take(pager.recPerPage);
                result.data = sql.ToList();
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }

            return(result);
        }
Beispiel #19
0
        /// <summary>
        /// 根据动态条件获取所有一级菜单集合
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public List <FirstLevel> getFirstLevelDir(Pager <FirstLevelDirModel> pager)
        {
            DirDbContext context = new DirDbContext();
            var          result  = context.firstLevels.Where(x => x.id > 0 && x.activityFlag == 1);
            int          start   = (pager.page - 1) * pager.recPerPage;

            if (pager.data.id.HasValue)
            {
                result = result.Where(x => x.id == pager.data.id.Value);
            }
            else
            {
                result = !pager.data.orderId.HasValue ? result : result.Where(x => x.orderId == pager.data.orderId);
                result = string.IsNullOrEmpty(pager.data.content) ? result : result.Where(x => x.midContent == pager.data.content);
                result = string.IsNullOrEmpty(pager.data.createdBy) ? result : result.Where(x => x.createdBy == pager.data.createdBy);
                result = string.IsNullOrEmpty(pager.data.lastUpdatedBy) ? result : result.Where(x => x.lastUpdatedBy == pager.data.lastUpdatedBy);
                result = !pager.data.createdDate.HasValue ? result : result.Where(x => x.createdDate == pager.data.createdDate);
                result = !pager.data.lastUpdatedDate.HasValue ? result : result.Where(x => x.lastUpdatedDate == pager.data.lastUpdatedDate);
            }
            result = result.OrderBy(x => x.orderId).ThenBy(x => x.id).Skip(start).Take(pager.recPerPage);
            return(result.ToList());
        }