Пример #1
0
        public OpResult Deletes(int[] ids)
        {
            var list = LimitRepository.FindList(o => ids.Contains(o.Id));

            LimitRepository.RemoveRange(list);
            return(OpResult.Success());
        }
Пример #2
0
        public OpResult Remove(int limitid)
        {
            var obj = GetLimit(limitid);

            LimitRepository.Remove(obj);
            return(OpResult.Success());
        }
Пример #3
0
        public void SetState(int limitid, short status)
        {
            var obj = GetLimit(limitid);

            obj.Status = status == 1;
            LimitRepository.SaveChanges();
        }
Пример #4
0
        public void SetUp()
        {
            _dbContextOptions = new DbContextOptionsBuilder <DueltankDbContext>()
                                .UseInMemoryDatabase("dueltank")
                                .Options;

            _sut = new LimitRepository(new DueltankDbContext(_dbContextOptions));
        }
Пример #5
0
 public ControlCashDbContext()
     : base("name=ControlCashDb")
 {
     LimitRepository           = new LimitRepository(this);
     MovimentHistoryRepository = new MovimentHistoryRepository(this);
     UserRepository            = new UserRepository(this);
     WalletRepository          = new WalletRepository(this);
     LimitHistoryRepository    = new LimitHistoryRepository(this);
 }
Пример #6
0
        public async Task DadoQuePossuaUmLimiteInicialDeReaisAsync(string initialLimit)
        {
            Limit limit = new Limit()
            {
                User      = "******",
                UserLimit = initialLimit
            };

            this.newLimit = await LimitRepository.UpdateLimit(limit);
        }
Пример #7
0
        public List <Models.ProductRoleMenuModel> FindMenuList(int?roleId)
        {
            var queryMenu = MenuRepository.GetQuery(o => o.Status);
            var ms        = new List <Models.ProductRoleMenuModel>();

            if (roleId > 0)
            {
                var queryRole     = RoleRepository.GetQuery(o => o.RoleId == roleId);
                var queryRoleData = RoleDataRepository.GetQuery(o => o.RoleId == roleId);
                var q             = from x in queryMenu
                                    join y in queryRoleData on x.MenuId equals y.MenuId into tmp
                                    from z in tmp.DefaultIfEmpty()
                                    orderby z.SortOrder
                                    select new Models.ProductRoleMenuModel()
                {
                    Id           = x.MenuId,
                    MenuId       = x.MenuId,
                    PMenuId      = x.PMenuId,
                    Title        = x.Title,
                    LimitSelects = queryRole.Select(i => i.Limitids).FirstOrDefault(),
                    ParentId     = z.HasSelected ? 1 : 0
                };
                ms = q.ToList();
            }
            else
            {
                ms = queryMenu.OrderBy(o => o.SortOrder).Select(x => new Models.ProductRoleMenuModel()
                {
                    Id      = x.MenuId,
                    MenuId  = x.MenuId,
                    PMenuId = x.PMenuId,
                    Title   = x.Title
                }).ToList();
            }
            var limits = LimitRepository.GetQuery(o => o.Status).OrderBy(o => o.SortOrder).ToList();

            ms.Each(o =>
            {
                o.Limitids      = string.Join(",", limits.Where(i => i.PLimitId == o.MenuId).Select(i => i.Title + ":" + i.LimitId));
                o.MenuIdSelects = string.Join(",", ms.Where(i => i.ParentId == 1).Select(i => i.MenuId));
            });
            ms.Each(o =>
            {
                o.ParentId = 0;
            });
            var list = new List <Models.ProductRoleMenuModel>();

            foreach (var menu in ms.Where(o => o.PMenuId <= 0))
            {
                SetChilds(menu, ms);
                menu.Index = list.Count;
                list.Add(menu);
            }
            return(list);
        }
Пример #8
0
        public void MoveItem(short mode, int limitid)
        {
            var obj  = GetLimit(limitid);
            var list = LimitRepository.GetQuery(o => o.PLimitId == obj.PLimitId).OrderBy(o => o.SortOrder).ToList();

            switch (mode)
            {
            case 2:    //下移
                var obj1 = list.LastOrDefault();
                if (obj.Id != obj1.Id)
                {
                    Entity.SysLimits next = null;
                    for (var i = 0; i < list.Count; i++)
                    {
                        if (obj.Id == list[i].Id)
                        {
                            next = list[i + 1]; break;
                        }
                    }
                    if (next != null)
                    {
                        var sort = obj.SortOrder;
                        obj.SortOrder  = next.SortOrder;
                        next.SortOrder = sort;
                        LimitRepository.SaveChanges();
                    }
                }
                break;

            default:    //上移
                var obj2 = list.FirstOrDefault();
                if (obj.Id != obj2.Id)
                {
                    Entity.SysLimits prev = null;
                    for (var i = 0; i < list.Count; i++)
                    {
                        if (obj.Id == list[i].Id)
                        {
                            prev = list[i - 1]; break;
                        }
                    }
                    if (prev != null)
                    {
                        var sort = obj.SortOrder;
                        obj.SortOrder  = prev.SortOrder;
                        prev.SortOrder = sort;
                        LimitRepository.SaveChanges();
                    }
                }
                break;
            }
        }
Пример #9
0
        public List <Models.LimitModels> FindPageList(out int recordCount)
        {
            var queryMenu  = MenuRepository.GetQuery();
            var queryLimit = LimitRepository.GetQuery();
            var q          = from x in queryMenu
                             join y in queryLimit on x.MenuId equals y.PLimitId into tmp
                             from o in tmp.DefaultIfEmpty()
                             orderby x.SortOrder, o.SortOrder
                select new
            {
                x.Id,
                x.MenuId,
                x.PMenuId,
                MenuTitle = x.Title,
                LimitId   = (int?)o.LimitId,
                Title     = o.Title,
                Status    = (bool?)o.Status,
                MenuIdFK  = (int?)o.PLimitId
            };

            recordCount = q.Count();
            var menus = q.ToList().Select(o => new Models.LimitModels()
            {
                MenuId    = o.MenuId,
                MenuIdFK  = o.MenuIdFK,
                ParentId  = o.PMenuId,
                MenuTitle = o.MenuTitle,
                LimitId   = o.LimitId.GetValueOrDefault(),
                Title     = o.Title,
                Status    = o.Status.GetValueOrDefault()
            }).ToList();
            var list = new List <Models.LimitModels>();

            foreach (var menuid in menus.Where(o => o.MenuIdFK.HasValue).Select(o => o.MenuIdFK).Distinct())
            {
                int i     = 0;
                var count = menus.Where(o => o.MenuIdFK == menuid).Count();
                menus.Where(o => o.MenuIdFK == menuid).Each(o =>
                {
                    o.ChildCount = count;
                    o.Index      = i++;
                });
            }
            foreach (var menu in menus.Where(o => o.ParentId <= 0))
            {
                SetChilds(menu, menus);
                list.Add(menu);
            }
            return(list);
        }
Пример #10
0
 public OpResult SaveOrUpdate(Entity.SysLimits obj)
 {
     if (obj.Id == 0)
     {
         obj.LimitId   = LimitRepository.GetMaxInt(o => (int?)o.LimitId);
         obj.SortOrder = obj.LimitId;
         LimitRepository.Add(obj, false);
     }
     else
     {
         var limit = LimitRepository.Get(obj.Id);
         limit.Title  = obj.Title;
         limit.Status = obj.Status;
     }
     LimitRepository.SaveChanges();
     return(OpResult.Success());
 }
Пример #11
0
        public OpResult UpdateData()
        {
            ProductPublishVer ver = null;

            try
            {
                using (TransactionScope tran = new TransactionScope())
                {
                    ver = PublishVerService.UpdatePublish(0, 1, CurrentUser.FullName);
                    if (ver.ProductModuleVer != null)
                    {
                        var menus  = new List <SysMenus>();
                        var limits = new List <SysLimits>();
                        ver.ProductModuleVer.ProductMenuLimits.Each(o =>
                        {
                            switch (o.Type)
                            {
                            case 1:
                                menus.Add(new SysMenus()
                                {
                                    MenuId = o.MenuId, PMenuId = o.PMenuId, SortOrder = o.SortOrder, Status = o.Status, Title = o.Title, URL = o.Url
                                });
                                break;

                            case 3:
                                limits.Add(new SysLimits()
                                {
                                    LimitId = o.MenuId, PLimitId = o.PMenuId, SortOrder = o.SortOrder, Status = o.Status, Title = o.Title
                                });
                                break;

                            default:
                                break;
                            }
                        });
                        if (menus.Any())
                        {
                            var list = MenuRepository.GetQuery().ToList();
                            MenuRepository.RemoveRange(list);
                            MenuRepository.AddRange(menus);
                        }
                        if (limits.Any())
                        {
                            LimitRepository.RemoveRange(LimitRepository.GetQuery().ToList());
                            LimitRepository.AddRange(limits);
                        }
                    }
                    if (ver.ProductRoleVer != null)
                    {
                        var roles = new List <SysRoles>();
                        ver.ProductRoleVer.ProductRoles.Each(o =>
                        {
                            var role          = new SysRoles();
                            role.CreateDT     = DateTime.Now;
                            role.CreateUID    = CurrentUser.UID;
                            role.RoleId       = o.RoleId.GetValueOrDefault();
                            role.Title        = o.Title;
                            role.Limitids     = o.Limitids;
                            role.Type         = 0;
                            role.Status       = true;
                            role.UpdateDT     = role.CreateDT;
                            role.UpdateUID    = role.CreateUID;
                            role.SysRoleDatas = new List <SysRoleData>();
                            o.ProductRoleDatas.Each(i =>
                            {
                                role.SysRoleDatas.Add(new SysRoleData()
                                {
                                    HasSelected = i.HasSelected,
                                    MenuId      = i.MenuId,
                                    PMenuId     = i.PMenuId,
                                    SortOrder   = i.SortOrder
                                });
                            });
                            roles.Add(role);
                        });
                        if (roles.Any())
                        {
                            var list = RoleRepository.GetQuery(o => o.Type == 0).Include(o => o.SysRoleDatas).ToList();
                            roles.Each(o => {
                                var r = list.FirstOrDefault(i => i.RoleId == o.RoleId);
                                if (r != null)
                                {
                                    o.DeptId = r.DeptId;
                                    if (!r.Memo.IsNullOrEmpty())
                                    {
                                        o.Memo = r.Memo;
                                    }
                                    o.Status    = r.Status;
                                    o.CreateDT  = r.CreateDT;
                                    o.CreateUID = r.CreateUID;
                                }
                            });
                            RoleDataRepository.RemoveRange(list.SelectMany(o => o.SysRoleDatas).ToList());
                            RoleRepository.RemoveRange(list);
                            RoleRepository.AddRange(roles);
                        }
                    }
                    if (ver.ProductDictionaryVer != null)
                    {
                        var dicts = new List <SysDataDictionary>();
                        ver.ProductDictionaryVer.ProductDictionaryDatas.Each(o =>
                        {
                            dicts.Add(new SysDataDictionary()
                            {
                                CreateDT  = DateTime.Now,
                                CreateUID = CurrentUser.UID,
                                Depth     = o.Depth,
                                DicPSN    = o.DicPSN,
                                DicSN     = o.DicSN,
                                HasChild  = o.HasChild,
                                SortOrder = o.SortOrder,
                                Status    = Convert.ToBoolean(o.Status),
                                Title     = o.Title
                            });
                        });
                        if (dicts.Any())
                        {
                            var list = DictRepository.GetQuery().ToList();
                            DictRepository.RemoveRange(list);
                            DictRepository.AddRange(dicts);
                        }
                    }
                    var sqls = new Dictionary <int, string>();
                    var db   = new DBFramework.DBHelper();
                    if (ver.ProductDataVer != null)
                    {
                        ver.ProductDataVer.ProductDataSqls.OrderBy(o => o.RunSort).Each(o =>
                        {
                            sqls[o.MenuId] = o.RunSql;
                        });
                        foreach (var de in sqls)
                        {
                            try
                            {
                                db.ExecuteNonQueryText(de.Value, null);
                            }
                            catch (Exception ex)
                            {
                                throw new Exception("更新初始化数据失败!MenuId:" + de.Key + ";" + LogEngine.ToInnerException(ex).Message);
                            }
                        }
                        sqls.Clear();
                    }
                    ver.ProductPublishSqls.OrderBy(o => o.RunSort).Each(o =>
                    {
                        sqls[o.MenuId] = o.RunSql;
                    });
                    foreach (var de in sqls)
                    {
                        try
                        {
                            db.ExecuteNonQueryText(de.Value, null);
                        }
                        catch (Exception ex)
                        {
                            throw new Exception("历史数据处理失败!MenuId:" + de.Key + ";" + LogEngine.ToInnerException(ex).Message);
                        }
                    }
                    tran.Complete();
                }
            }catch (Exception e)
            {
                LogEngine.WriteError(e);
                if (ver != null)
                {
                    PublishVerService.AddUpdateLog(ver.PublishId, 0, false, LogEngine.ToInnerException(e).Message, CurrentUser.FullName);
                }
                return(OpResult.Fail());
            }
            return(OpResult.Success());
        }
Пример #12
0
        public async Task EntaoOMeuNovoLimiteDeveSerReais(string value)
        {
            LimitModel limit = await LimitRepository.FindByUser("Frederico");

            limit.UserLimit.Should().Be(value);
        }
Пример #13
0
 public Entity.SysLimits GetLimit(int limitid)
 {
     return(LimitRepository.Find(o => o.LimitId == limitid));
 }