public ModuleRolePermissionViewModel Create(ModuleRolePermissionViewModel model)
        {
            var dataExists = _context.AsQueryable <ModuleRolePermission>().Where(x => x.ModuleID == model.ModuleID && x.RoleID == model.RoleID && x.PermissionID == model.PermissionID && x.Active == true).FirstOrDefault();

            if (dataExists != null)
            {
                throw new ArgumentException("Permission mapping already exists.");
            }

            var data = new ModuleRolePermission()
            {
                ModuleID     = model.ModuleID,
                RoleID       = model.RoleID,
                PermissionID = model.PermissionID,
                CreatedBy    = model.CreatedBy,
                ModifiedBy   = null,
                DateCreated  = model.DateCreated,
                DateModified = null,
                Active       = model.Active
            };

            _context.Add <ModuleRolePermission>(data);
            _context.SaveChanges();

            model.ID = data.ID;

            return(model);
        }
        public void Update(ModuleRolePermissionViewModel model)
        {
            var data = _context.AsQueryable <ModuleRolePermission>().Where(x => x.ID == model.ID).FirstOrDefault();

            if (data == null)
            {
                throw new ArgumentException("Data does not exists.");
            }

            data.ModuleID     = model.ModuleID;
            data.RoleID       = model.RoleID;
            data.PermissionID = model.PermissionID;
            data.ModifiedBy   = model.ModifiedBy;
            data.DateModified = model.DateModified ?? DateTime.Now;
            data.Active       = model.Active;

            _context.Update <ModuleRolePermission>(data);
            _context.SaveChanges();
        }