Esempio n. 1
0
        public ActionResult Delete(int id)
        {
            if (userRepository.FindAll(user => user.AreaId == id, null).Any())
            {
                TempData[MESSAGE_KEY] = Resources.Resources.MsgCanNotDeleteAreaWithUser;
                return(RedirectToAction("Index"));
            }

            if (deviceRepository.FindAll(device => device.AreaId == id, null).Any())
            {
                TempData[MESSAGE_KEY] = Resources.Resources.MsgCanNotDeleteAreaWithDevice;
                return(RedirectToAction("Index"));
            }

            if (areaRepository.Count() == 1)
            {
                TempData[MESSAGE_KEY] = Resources.Resources.MsgAtLeastOneAreaInSystem;
                return(RedirectToAction("Index"));
            }

            Area existing = areaRepository.Get(id);

            areaRepository.Delete(existing);

            auditLogRepository.Add(
                AuditLogBuilder.Builder()
                .User(HttpContext.User.Identity.Name)
                .Deleted(typeof(Area), existing.Name)
                .With(new ChangeInfo().AddChange(() => existing.Name).ToJson())
                .Build());

            logger.Info("User '{0}' deleted area '{1}'.", Identity.Name, existing.Name);
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
 public void DeleteForm(string keyValue)
 {
     if (service.Count(m => m.F_ParentId, m => m.F_ParentId == keyValue) > 0)
     {
         throw new Exception("删除失败!操作的对象包含了下级数据。");
     }
     else
     {
         service.Delete(m => m.F_Id == keyValue);
     }
 }
Esempio n. 3
0
        public IActionResult Get()
        {
            var pagination = Request.Headers["Pagination"];

            if (!string.IsNullOrEmpty(pagination))
            {
                string[] vals = pagination.ToString().Split(',');
                int.TryParse(vals[0], out page);
                int.TryParse(vals[1], out pageSize);
            }

            int currentPage     = page;
            int currentPageSize = pageSize;
            var totalAreas      = _areaRepository.Count();

            if (pageSize == 0)
            {
                pageSize        = totalAreas;
                currentPageSize = pageSize;
            }

            var totalPages = (int)Math.Ceiling((double)totalAreas / pageSize);

            IEnumerable <Area> _areas = _areaRepository
                                        .AllIncluding(a => a.Suggestions)
                                        .OrderBy(a => a.Id)
                                        .Skip((currentPage - 1) * currentPageSize)
                                        .Take(currentPageSize)
                                        .ToList();

            IEnumerable <AreaViewModel> _areasVM = Mapper.Map <IEnumerable <Area>, IEnumerable <AreaViewModel> >(_areas);

            Response.AddPagination(page, pageSize, totalAreas, totalPages);

            return(new OkObjectResult(_areasVM));
        }