コード例 #1
0
        public Role Save(Role role)
        {
            var roleOld = roleRepository.Get(role.Code, role.StoreCode);

            if (!roleOld.IsNull() && !role.Permissions.IsNull())
            {
                permissionRepository.Delete(roleOld.Permissions);
            }

            if (!roleOld.IsNull() && !role.AccountRoles.IsNull())
            {
                accountRoleRepository.Delete(roleOld.AccountRoles);
            }

            if (!roleOld.IsNull() && !role.Restrictions.IsNull())
            {
                restrictionRepository.Delete(roleOld.Restrictions);
            }

            if (!role.Permissions.IsNull())
            {
                role.Permissions.ForEach(p =>
                {
                    p.RoleCode   = role.Code;
                    p.SaveDate   = DateTime.Now;
                    p.UpdateDate = DateTime.Now;

                    permissionRepository.Save(p);
                });
            }

            if (!role.AccountRoles.IsNull())
            {
                role.AccountRoles.ForEach(a =>
                {
                    a.RoleCode   = role.Code;
                    a.SaveDate   = DateTime.Now;
                    a.UpdateDate = DateTime.Now;

                    accountRoleRepository.Save(a);
                });
            }

            if (!role.Restrictions.IsNull())
            {
                role.Restrictions.ForEach(a =>
                {
                    a.RoleCode   = role.Code;
                    a.SaveDate   = DateTime.Now;
                    a.UpdateDate = DateTime.Now;

                    restrictionRepository.Save(a);
                });
            }

            return(roleRepository.Save(role));
        }
コード例 #2
0
        public IHttpActionResult Delete([FromUri] List <string> salesAreaNames = null, DateTime?dateRangeStart = null,
                                        DateTime?dateRangeEnd           = null,
                                        RestrictionType?restrictionType = null)
        {
            if (!ModelState.IsValid)
            {
                return(this.Error().InvalidParameters());
            }
            if (dateRangeStart == null && dateRangeEnd == null &&
                restrictionType == null && (salesAreaNames == null || !salesAreaNames.Any()))
            {
                _restrictionRepository.Truncate();
            }
            else
            {
                _restrictionRepository.Delete(salesAreaNames, false, dateRangeStart, dateRangeEnd, restrictionType);
            }

            return(Ok());
        }
コード例 #3
0
        public void Delete(Guid roleCode, Guid code)
        {
            var result = restrictionRepository.Get(code);

            if (result.IsNull())
            {
                throw new ArgumentException("Restrição não encontrada");
            }

            if (result.RoleCode != roleCode)
            {
                throw new ArgumentException("Restrição não pertence ao grupo informado");
            }

            using (var transaction = Connection.BeginTransaction())
                restrictionRepository.Delete(code);
        }
コード例 #4
0
 public void Delete(int id)
 {
     _repo.Delete(id);
 }
コード例 #5
0
 public void Delete(Int32 id)
 {
     _repo.Delete(id);
 }