Пример #1
0
        public async Task <IActionResult> Download([FromBody] EF.Group obj)
        {
            var bll_g = groupBusiness;
            var bll_m = memberBusiness;
            var user  = HttpContext.Items["EndUser"] as EF.EndUser;

            obj.GroupCategory = new EF.GroupCategory {
                CommunityId = user.Member.CommunityId
            };

            var res = from r in bll_g.Find(obj)
                      join m in bll_m.Find(new EF.Member {
                CommunityId = user.Member.CommunityId
            }) on r.GroupLeader equals m.Id
                      select new
            {
                Category = r.GroupCategory.Name,
                r.Name,
                Leader  = m.Name,
                Members = r.GroupMember.Count
            };

            var bytes = Encoding.ASCII.GetBytes((await res.ToListAsync()).ExportToCsv().ToString());

            var result = new FileContentResult(bytes, "text/csv");

            result.FileDownloadName = "my-csv-file.csv";
            return(result);
        }
Пример #2
0
        public async Task <int> Add(EF.Group args)
        {
            await unitOfWork.GroupRepository.AddAsync(args);

            unitOfWork.Commit();
            return(args.Id);
        }
Пример #3
0
 public async Task <EF.Group> Get(EF.Group args)
 {
     return(await unitOfWork.GroupRepository.Entities
            .Include(x => x.GroupMember)
            .Include(x => x.GroupCategory)
            .Where(x => x.Id == args.Id).FirstOrDefaultAsync());
 }
Пример #4
0
        public bool Update(EF.Group entity)
        {
            var code      = entity.Code.ToUpper();
            var item      = _dbContext.Groups.FirstOrDefault(x => x.ID == entity.ID);
            var kpiLevels = _dbContext.KPILevels.Where(f => f.TableID == item.Code).ToList();

            kpiLevels.ForEach(a =>
            {
                a.TableID = code;
            });


            var SOP = _dbContext.Groups.Find(entity.ID);

            SOP.Name    = entity.Name;
            SOP.Code    = code;
            SOP.LevelID = entity.LevelID;
            try
            {
                _dbContext.SaveChanges();
                return(true);
            }
            catch
            {
                //logging
                return(false);
            }
        }
Пример #5
0
 public IQueryable <EF.Group> Find(EF.Group args)
 {
     return(unitOfWork.GroupRepository.Entities
            .Include(x => x.GroupCategory)
            .Include(x => x.GroupMember).ThenInclude(x => x.Member)
            .Where(x => x.Name.Contains(args.Name ?? "") &&
                   x.GroupLeader == (args.GroupLeader == null || args.GroupLeader == 0 ? x.GroupLeader : args.GroupLeader) &&
                   x.GroupCategoryId == (args.GroupCategoryId == null || args.GroupCategoryId == 0 ? x.GroupCategoryId : args.GroupCategoryId) &&
                   x.GroupCategory.CommunityId == args.GroupCategory.CommunityId)
            .OrderBy(x => x.Name).AsQueryable());
 }
Пример #6
0
        public async Task Edit(EF.Group args)
        {
            var g = await unitOfWork.GroupRepository.Entities.FirstAsync(x => x.Id == args.Id);

            g.Name            = args.Name;
            g.Description     = args.Description;
            g.GroupCategoryId = args.GroupCategoryId;
            g.GroupLeader     = args.GroupLeader;

            unitOfWork.Commit();
        }
Пример #7
0
        public void EditGroup_Failed(EF.Group args)
        {
            var completed = false;

            mockUnitOfWork.Setup(x => x.Commit()).Callback(() =>
            {
                completed = true;
            });

            groupBusiness.Edit(args);

            Assert.True(!completed);
        }
Пример #8
0
        public void AddGroup_Success(EF.Group args)
        {
            var list  = mockGroupRepo.Object.Entities.ToList();
            var count = list.Count;

            mockUnitOfWork.Setup(x => x.Commit()).Callback(() =>
            {
                list.Add(args);
            });

            var id = groupBusiness.Add(args).Result;

            Assert.True(list.Count > count);
        }
Пример #9
0
        public int Add(EF.Group entity)
        {
            var code = entity.Code.ToUpper();
            List <EF.KPILevel> kpiLevelList = new List <EF.KPILevel>();

            if (_dbContext.Groups.FirstOrDefault(x => x.Code == code) != null)
            {
                return(2);
            }
            if (_dbContext.KPILevels.FirstOrDefault(x => x.KPICode == entity.Code) != null)
            {
                return(2);
            }
            //get all kpi
            var kpis = new KPIAdminDAO().GetAll();

            foreach (var kpi in kpis)
            {
                var kpilevel = new EF.KPILevel();
                kpilevel.TableID = entity.Code;
                kpilevel.KPICode = kpi.Code;
                kpilevel.Name    = kpi.Name;
                kpilevel.Checked = false;
                kpiLevelList.Add(kpilevel);
            }
            try
            { entity.Code = entity.Code.ToUpper();
              entity.Code = entity.Code.ToUpper();
              _dbContext.Groups.Add(entity);
              _dbContext.KPILevels.AddRange(kpiLevelList);
              _dbContext.SaveChanges();
              return(1); }
            catch
            {
                return(0);
            }
        }
Пример #10
0
        public void FindGroup_HasNoResult(EF.Group args)
        {
            var res = groupBusiness.Find(args);

            Assert.True(res.Count() == 0);
        }
Пример #11
0
 public Task Delete(EF.Group args)
 {
     throw new NotImplementedException();
 }